欧美一区二区三区,国内熟女精品熟女A片视频小说,日本av网,小鲜肉男男GAY做受XXX网站

c 判斷解析json

謝彥文1年前8瀏覽0評論

在C語言中,解析JSON字符串是一項非常常見的任務。JSON是一種輕量級的數據交換格式,它使用易于人讀的文本格式,便于數據的交換和傳輸。以下是一個簡單的C程序,它演示了如何解析JSON字符串。

#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <stdbool.h>
#include <jansson.h>
int main(int argc, char **argv) {
const char* json_string =
"{ \"name\" : \"John\", "
"\"age\" : 30, "
"\"married\": true }";
json_error_t error;
json_t* root = json_loads(json_string, 0, &error);
if(!root) {
fprintf(stderr, "Error parsing JSON: %s\n", error.text);
return 1;
}
json_t* name = json_object_get(root, "name");
const char* name_value = json_string_value(name);
printf("Name: %s\n", name_value);
json_t* age = json_object_get(root, "age");
int age_value = json_integer_value(age);
printf("Age: %d\n", age_value);
json_t* married = json_object_get(root, "married");
bool married_value = json_boolean_value(married);
printf("Married: %s\n", married_value ? "true" : "false");
json_decref(root);
return 0;
}

該程序先將JSON字符串放在一個指針`json_string`里面,然后通過`json_loads()`函數將其解析成一個`json_t`對象。如果解析失敗,它會返回一個`NULL`指針,并設置一個`json_error_t`錯誤來解釋失敗的原因。

然后,使用`json_object_get()`函數從JSON對象中獲取每個屬性的值,并使用適當的函數(例如`json_string_value`和`json_integer_value`)將其轉換為相應的C類型。

最后,使用`json_decref()`函數釋放內存,防止內存泄漏。