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

c json 數據修改

吉茹定2年前10瀏覽0評論

在使用C語言處理JSON數據時,經常需要對數據進行修改。下面介紹JSON數據的修改方法。

#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <cJSON.h>
int main()
{
char *json = "{\"name\":\"Tom\",\"age\":25,\"sex\":\"male\"}";
cJSON *root = cJSON_Parse(json);
if (root == NULL) {
printf("JSON string parse error!\n");
return -1;
}
// 修改name的值
cJSON *name = cJSON_GetObjectItem(root, "name");
if (name == NULL) {
printf("Get name error!\n");
return -1;
}
cJSON_DeleteItemFromObject(root, "name");
cJSON_AddStringToObject(root, "name", "Jerry");
// 修改age的值
cJSON *age = cJSON_GetObjectItem(root, "age");
if (age == NULL) {
printf("Get age error!\n");
return -1;
}
cJSON_DeleteItemFromObject(root, "age");
cJSON_AddNumberToObject(root, "age", 30);
// 修改sex的值
cJSON *sex = cJSON_GetObjectItem(root, "sex");
if (sex == NULL) {
printf("Get sex error!\n");
return -1;
}
cJSON_DeleteItemFromObject(root, "sex");
cJSON_AddStringToObject(root, "sex", "female");
char *new_json = cJSON_Print(root);
printf("New JSON string:\n%s\n", new_json);
cJSON_Delete(root);
free(new_json);
return 0;
}

首先,需要解析JSON數據,使用cJSON_Parse函數。該函數會返回一個cJSON類型的指針,表示JSON數據的根節點。

然后,可以使用cJSON_GetObjectItem函數獲取某個節點的值。比如,通過獲取“name”節點,可以得到其值“Tom”。

接著,需要使用cJSON_DeleteItemFromObject刪除某個節點。比如,刪除“name”節點。

最后,使用cJSON_AddStringToObject或cJSON_AddNumberToObject添加新節點,并給新節點賦值。比如,添加一個值為“Jerry”的“name”節點。

修改了JSON數據之后,使用cJSON_Print函數打印出新的JSON數據。