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

c json的讀取添加刪除修改

劉姿婷2年前10瀏覽0評論

在C語言中,我們常常需要對JSON格式的數(shù)據(jù)進(jìn)行操作,其中包括讀取、添加、刪除和修改等操作。在這篇文章中,我們將介紹如何使用C語言操作JSON數(shù)據(jù)。

首先,我們需要使用一個(gè)開源的JSON解析庫,例如jansson。使用該庫,我們可以方便地將JSON格式的數(shù)據(jù)轉(zhuǎn)化為C語言中的數(shù)據(jù)類型,例如數(shù)組、字符串和數(shù)字等。下面是一個(gè)簡單的JSON文件示例:

{
"name": "Alex",
"age": 28,
"hobbies": ["running", "swimming", "hiking"]
}

使用jansson庫,我們可以讀取該JSON文件中的數(shù)據(jù),并將其轉(zhuǎn)化為C語言中的數(shù)據(jù)類型:

#include#includeint main() {
const char *json_str = "{\"name\":\"Alex\",\"age\":28,\"hobbies\":[\"running\",\"swimming\",\"hiking\"]}";
json_error_t error;
json_t *json = json_loads(json_str, 0, &error);
json_t *name = json_object_get(json, "name");
json_t *age = json_object_get(json, "age");
json_t *hobbies = json_object_get(json, "hobbies");
printf("Name: %s\n", json_string_value(name));
printf("Age: %d\n", json_integer_value(age));
printf("Hobbies:\n");
size_t index;
json_t *value;
json_array_foreach(hobbies, index, value) {
printf("%s\n", json_string_value(value));
}
json_decref(json);
return 0;
}

上述代碼會(huì)輸出以下結(jié)果:

Name: Alex
Age: 28
Hobbies:
running
swimming
hiking

接下來,我們將介紹如何添加、刪除和修改JSON數(shù)據(jù)。使用jansson庫,我們可以通過簡單的API實(shí)現(xiàn)這些操作。例如,我們可以添加一項(xiàng)新的愛好,修改年齡為30歲,刪除姓名字段:

#includeint main() {
const char *json_str = "{\"name\":\"Alex\",\"age\":28,\"hobbies\":[\"running\",\"swimming\",\"hiking\"]}";
json_error_t error;
json_t *json = json_loads(json_str, 0, &error);
json_object_del(json, "name");
json_object_set_new(json, "age", json_integer(30));
json_array_append_new(json_object_get(json, "hobbies"), json_string("coding"));
char *json_str_modified = json_dumps(json, JSON_COMPACT | JSON_ENSURE_ASCII);
printf("%s\n", json_str_modified);
free(json_str_modified);
json_decref(json);
return 0;
}

上述代碼會(huì)輸出以下結(jié)果:

{"age":30,"hobbies":["running","swimming","hiking","coding"]}

如上所示,我們使用了json_object_del()函數(shù)刪除了"name"字段,使用json_object_set_new()函數(shù)將年齡修改為30歲,使用json_array_append_new()函數(shù)添加了新的愛好,最后使用json_dumps()函數(shù)將修改后的JSON數(shù)據(jù)轉(zhuǎn)化為字符串。

總之,使用jansson庫,我們可以方便地讀取、添加、刪除和修改JSON數(shù)據(jù),使得C語言開發(fā)更加高效和靈活。