C JSON是一種輕量級的數(shù)據(jù)交換格式,常見于網(wǎng)絡(luò)傳輸和數(shù)據(jù)存儲中。在C語言中,C JSON是通過操作JSON對象來實現(xiàn)的。本文主要介紹一種常用的操作方式,即通過指定字段來讀取和寫入JSON對象。
使用C JSON讀取JSON對象中的指定字段需要先將JSON文本解析成JSON對象。以下給出一個示例JSON文本:
{ "name": "張三", "age": 18, "score": 95.5 }
解析JSON文本的方法如下:
#include <stdio.h>#include <cJSON.h>int main() { const char *jsonStr = "{\"name\":\"張三\",\"age\":18,\"score\":95.5}"; cJSON *root = cJSON_Parse(jsonStr); if(root != NULL) { cJSON *name = cJSON_GetObjectItem(root, "name"); printf("name: %s\n",cJSON_Print(name)); cJSON *age = cJSON_GetObjectItem(root, "age"); printf("age: %d\n",age->valueint); cJSON *score = cJSON_GetObjectItem(root, "score"); printf("score: %.1f\n",score->valuedouble); cJSON_Delete(root); } return 0; }
上述代碼使用
同樣地,通過指定字段來向JSON對象中寫入數(shù)據(jù)也是常用的操作方式。以下給出一個示例代碼:
include <stdio.h>#include <cJSON.h>int main() { cJSON *root = cJSON_CreateObject(); cJSON *name = cJSON_CreateString("張三"); cJSON_AddItemToObject(root, "name", name); cJSON_AddNumberToObject(root, "age", 18); cJSON_AddNumberToObject(root, "score", 95.5); printf("%s\n", cJSON_Print(root)); cJSON_Delete(root); return 0; }
上述代碼使用
總之,指定字段是C JSON中常用的操作方式之一,可以實現(xiàn)對JSON對象中指定字段的讀取和寫入。通過本文的介紹,相信讀者已經(jīng)對C JSON的指定字段操作有了更深入的了解。