修改json對(duì)象的值:#include#includeint main ()
{
// 創(chuàng)建一個(gè)簡(jiǎn)單的json對(duì)象
cJSON *root = cJSON_CreateObject();
cJSON_AddNumberToObject(root, "age", 20);
cJSON_AddStringToObject(root, "name", "Tom");
// 顯示原始的json對(duì)象
char *original_json = cJSON_Print(root);
printf("Original Json: %s\n", original_json);
// 將age改變?yōu)?0
cJSON *age = cJSON_GetObjectItem(root, "age");
cJSON_SetNumberValue(age, 30);
// 顯示修改后的json對(duì)象
char *modified_json = cJSON_Print(root);
printf("Modified Json: %s\n", modified_json);
// 釋放內(nèi)存
cJSON_Delete(root);
free(original_json);
free(modified_json);
return 0;
}
如你所見(jiàn),上述代碼使用了庫(kù)中的兩個(gè)函數(shù):cJSON_GetObjectItem()
函數(shù)和cJSON_SetNumberValue()
函數(shù)。前者用于獲取json對(duì)象中的一個(gè)指定的子項(xiàng)(這里獲取的是age),而后者用于設(shè)置這個(gè)子項(xiàng)的數(shù)值。在這個(gè)示例中,我們將age設(shè)置為了30,然后輸出了修改后的json對(duì)象。
此外,如果你想要修改的是字符串值而不是數(shù)值,你可以使用cJSON_SetValuestring()
函數(shù),這個(gè)函數(shù)用于設(shè)置json對(duì)象中指定子項(xiàng)的字符串值。