色婷婷狠狠18禁久久YY,CHINESE性内射高清国产,国产女人18毛片水真多1,国产AV在线观看

c 怎么使用json數(shù)據(jù)

老白1年前8瀏覽0評論

JSON是一種輕量級的數(shù)據(jù)交換格式。在C語言中,可以使用第三方庫來解析和生成JSON數(shù)據(jù)。

#include <stdio.h>
#include <jansson.h>
int main()
{
const char *json_str = "{\"name\":\"Tom\",\"age\":20}";
// 解析JSON數(shù)據(jù)
json_error_t error;
json_t *root = json_loads(json_str, 0, &error);
if (root == NULL)
{
fprintf(stderr, "json loads error: %d at %d:%d\n", error.line, error.column, error.position);
return 1;
}
// 讀取JSON數(shù)據(jù)
const char *name = json_string_value(json_object_get(root, "name"));
int age = json_integer_value(json_object_get(root, "age"));
printf("name: %s, age: %d\n", name, age);
// 生成JSON數(shù)據(jù)
json_t *new_root = json_object();
json_object_set_new(new_root, "name", json_string("Jerry"));
json_object_set_new(new_root, "age", json_integer(25));
char *new_json_str = json_dumps(new_root, JSON_INDENT(4));
printf("%s\n", new_json_str);
// 釋放內(nèi)存
json_decref(root);
json_decref(new_root);
free(new_json_str);
return 0;
}

以上代碼中,首先定義了一個JSON字符串,然后使用json_loads函數(shù)解析這個JSON字符串,得到一個JSON對象。接著使用json_object_get函數(shù)讀取這個JSON對象中的數(shù)據(jù)。最后使用json_object_set_new函數(shù)生成一個新的JSON對象,并使用json_dumps函數(shù)將其轉(zhuǎn)換成JSON字符串。

需要注意的是,在使用完JSON對象之后,需要使用json_decref函數(shù)來釋放其占用的內(nèi)存。