cJSON* xjson = cJSON_CreateObject();
cJSON_AddItemToObject(xjson, "a", cJSON_CreateString("aaa"));
cJSON_AddItemToObject(xjson, "b", cJSON_CreateNumber(1));
char *buf1 = cJSON_Print(xjson);
printf("%s\n",buf1 ); //{"a":1,"b":"aaa"}
cJSON_GetObjectItem(xjson,"a")->valueint = 2;
cJSON_GetObjectItem(xjson,"a")->valuedouble = 2;
strcpy(cJSON_GetObjectItem(xjson,"a")->valuestring,"bbb");
char *buf2 = cJSON_Print(xjson);
printf("%s\n",buf2); //{"a":2,"b":"222"}
free(buf2);
free(buf1);
cJSON_Delete(xjson);
注:只修改valueint不修改valuedouble,修改结果无效。
见cjson.h内容如图