C JSON JProperty是一個(gè)C語(yǔ)言的JSON庫(kù),它可以實(shí)現(xiàn)JSON數(shù)據(jù)的解析和生成。
使用C JSON JProperty庫(kù)可以方便地將JSON格式的數(shù)據(jù)解析為C語(yǔ)言結(jié)構(gòu)體,也可以將C語(yǔ)言結(jié)構(gòu)體轉(zhuǎn)換為JSON格式數(shù)據(jù)。
// 將JSON字符串解析成C結(jié)構(gòu)體 #include "cJSON.h" int main() { char *json_str = "{\"name\":\"Tom\",\"age\":20}"; cJSON *root = cJSON_Parse(json_str); if(!root) { printf("Error before: [%s]\n", cJSON_GetErrorPtr()); } else { cJSON *name = cJSON_GetObjectItem(root, "name"); cJSON *age = cJSON_GetObjectItem(root, "age"); printf("name: %s, age: %d\n", name->valuestring, age->valueint); cJSON_Delete(root); } return 0; }
以上代碼實(shí)現(xiàn)了將一個(gè)JSON字符串解析成C語(yǔ)言結(jié)構(gòu)體,并輸出其中的name和age字段。
// 將C結(jié)構(gòu)體轉(zhuǎn)換成JSON字符串 #include "cJSON.h" int main() { typedef struct { char name[32]; int age; } person_t; person_t person = {"Tom", 20}; cJSON *root = cJSON_CreateObject(); cJSON_AddStringToObject(root, "name", person.name); cJSON_AddNumberToObject(root, "age", person.age); char *json_str = cJSON_Print(root); printf("%s\n", json_str); free(json_str); cJSON_Delete(root); return 0; }
以上代碼實(shí)現(xiàn)了將一個(gè)C語(yǔ)言結(jié)構(gòu)體轉(zhuǎn)換成一個(gè)JSON字符串。
總結(jié)來(lái)說(shuō),C JSON JProperty庫(kù)為我們提供了一種方便、高效的處理JSON格式數(shù)據(jù)的方法,它的使用也讓我們更加高效地處理JSON數(shù)據(jù)。