C JSON是一個開源的C語言庫,可以實現從字符串或文件中解析JSON數據,以及將C數據結構轉換為JSON格式進行寫入。使用C JSON可以方便地處理和解析JSON格式的數據。
#include "cJSON.h" #includeint main() { // 定義并初始化JSON字符串 char *json_str = "{\"name\": \"Tom\", \"age\": 20}"; // 解析JSON字符串 cJSON *root = cJSON_Parse(json_str); if (!root) { printf("Error before: [%s]\n", cJSON_GetErrorPtr()); return -1; } // 獲取JSON數據,并打印輸出 cJSON *name = cJSON_GetObjectItemCaseSensitive(root, "name"); printf("Name: %s\n", cJSON_GetStringValue(name)); cJSON *age = cJSON_GetObjectItemCaseSensitive(root, "age"); printf("Age: %d\n", cJSON_GetNumberValue(age)); // 釋放JSON對象 cJSON_Delete(root); return 0; }
以上代碼將JSON字符串解析為JSON對象,然后獲取該對象的name和age字段并輸出。
除了從JSON字符串中解析JSON數據之外,還可以將C數據結構轉換為JSON格式進行寫入。
#include "cJSON.h" #includeint main() { // 定義JSON對象 cJSON *root = cJSON_CreateObject(); cJSON_AddStringToObject(root, "name", "Tom"); cJSON_AddNumberToObject(root, "age", 20); // 將JSON對象轉換為JSON字符串 char *json_str = cJSON_Print(root); printf("%s\n", json_str); // 釋放JSON對象 cJSON_Delete(root); return 0; }
以上代碼將C數據結構中的name字符串和age整數轉換為JSON格式的數據,并輸出JSON字符串。
C JSON提供了方便的函數來快速處理JSON數據,可以很好的滿足日常開發(fā)中JSON數據解析和生成的需求。