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

c 怎么用json

方一強2年前9瀏覽0評論

在C語言中使用JSON格式,需要一個叫做json-c的開源庫,它提供了解析和生成JSON數據的函數。可以通過下載源碼自行編譯,也可以通過包管理器安裝。

首先需要引入頭文件:

#include <json-c/json.h>

接下來可以使用json_object結構體創建JSON對象。

// 創建空對象
struct json_object *obj = json_object_new_object();
// 添加屬性
json_object_object_add(obj, "name", json_object_new_string("Tom"));
json_object_object_add(obj, "age", json_object_new_int(25));
json_object_object_add(obj, "is_student", json_object_new_boolean(true));
// 轉換為字符串
const char *json_str = json_object_to_json_string(obj);
printf("%s\n", json_str);
// 釋放內存
json_object_put(obj);

以上代碼創建了一個空的JSON對象,然后添加了三個屬性:名字、年齡和是否為學生。最后把對象轉換為JSON字符串并輸出。需要注意的是,json_object_to_json_string()函數返回的字符串需要手動釋放。

如果要從JSON字符串中解析出對象,可以使用json_tokener結構體的json_tokener_parse()函數。

const char *json_str = "{\"name\":\"Tom\",\"age\":25,\"is_student\":true}";
struct json_object *obj = json_tokener_parse(json_str);
// 獲取屬性值
struct json_object *name_obj = json_object_object_get(obj, "name");
const char *name_str = json_object_get_string(name_obj);
int age = json_object_get_int(json_object_object_get(obj, "age"));
bool is_student = json_object_get_boolean(json_object_object_get(obj, "is_student"));
// 輸出結果
printf("name: %s\n", name_str);
printf("age: %d\n", age);
printf("is_student: %s\n", is_student ? "true" : "false");
// 釋放內存
json_object_put(obj);

以上代碼解析了一個JSON字符串,然后獲取了三個屬性的值并輸出。需要注意的是,json_tokener_parse()函數返回的對象需要手動釋放。