0%

cjson在json数组中增加值

如果您正在使用C语言编程,并需要在JSON数据中增加值,本文将为您提供一种方法。在C语言中,我们可以使用第三方库,如 cJSON 来处理JSON数据。下面是一个简单的例子,演示如何在一个JSON数组中增加值。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
#include <stdio.h>
#include <cJSON.h>
int main()
{
char* json_str = "[{\"name\":\"Bob\",\"age\":25},{\"name\":\"Alice\",\"age\":22}]";
cJSON* json = cJSON_Parse(json_str);
if (!json)
{
printf("Error before: [%s]\n",cJSON_GetErrorPtr());
}
else
{
cJSON* new_person = cJSON_CreateObject();
cJSON_AddStringToObject(new_person, "name", "Charlie");
cJSON_AddNumberToObject(new_person, "age", 28);
cJSON_AddItemToArray(json, new_person);
char* new_json_str = cJSON_Print(json);
printf("%s\n", new_json_str);
free(new_json_str);
cJSON_Delete(json);
}
return 0;
}

在这个例子中,我们首先定义了一个 JSON 字符串,包含两个人的信息。然后,我们使用 cJSON_Parse 方法将其解析为一个 cJSON 对象。接下来,我们创建了一个新的 cJSON 对象,表示一个新的人。使用 cJSON_AddStringToObject 和 cJSON_AddNumberToObject 方法,我们向新 cJSON 对象中添加了姓名和年龄属性。最后,使用 cJSON_AddItemToArray 方法,我们将新 cJSON 对象添加到原先的 JSON 数组中。最后,将修改后的 JSON 对象打印出来。

在这个例子中,我们演示了如何使用 cJSON 库来向 JSON 数组中增加值。当然,您可以根据您的需要修改这个示例,实现不同的操作。