JSON是一種輕量級的數據交換格式,廣泛應用于前后端數據傳輸中。在C語言后臺中解析JSON可以使用cJSON庫,該庫提供了一套簡單易用的API,方便我們進行JSON數據的解析。下面是一個簡單的示例:
#include <stdio.h>
#include <cJSON.h>
int main() {
char* json_str = "{ \"name\": \"Tom\", \"age\": 20 }";
cJSON* json = cJSON_Parse(json_str);
if(json == NULL) {
printf("CJSON parse error!\n");
return -1;
}
char* name = cJSON_GetObjectItem(json, "name")->valuestring;
int age = cJSON_GetObjectItem(json, "age")->valueint;
printf("name: %s\n", name);
printf("age: %d\n", age);
cJSON_Delete(json);
return 0;
}
首先,我們需要把JSON字符串傳給cJSON_Parse函數進行解析。解析成功則返回一個cJSON對象,否則返回NULL。我們可以使用cJSON_GetObjectItem函數獲取對象中鍵對應的值,該函數返回cJSON對象中的一個節點。我們可以通過節點的類型來獲取節點的值。例如,cJSON_GetObjectItem(json, "name")返回的是一個字符串節點,我們可以使用節點的valuestring成員來獲取節點的字符串值;cJSON_GetObjectItem(json, "age")返回的是一個數字節點,我們可以使用節點的valueint成員來獲取節點的整數值。
最后,我們需要調用cJSON_Delete函數來釋放cJSON對象的內存。