JSON是一種輕量級的數據交換格式,由于其簡潔性和易讀性,目前已經成為最流行的數據交換格式之一。在C語言中,我們可以使用第三方庫CJSON解析JSON數據。下面將演示如何在C中使用CJSON解析JSON。
首先,我們需要下載CJSON庫。可以從CJSON的官方網站或GitHub倉庫下載。在本例中,我們使用GitHub上的CJSON庫。
#include "cjson/cJSON.h"
#include <stdio.h>
int main() {
char *json_str = "{\\"name\\":\\"張三\\",\\"age\\":18}";
cJSON *json = cJSON_Parse(json_str);
if (json == NULL) {
printf("Error before: [%s]\n", cJSON_GetErrorPtr());
return 1;
}
cJSON *name = cJSON_GetObjectItem(json, "name");
cJSON *age = cJSON_GetObjectItem(json, "age");
printf("Name: %s, Age: %d\n", name->valuestring, age->valueint);
cJSON_Delete(json);
return 0;
}
在上述代碼中,我們首先包含了CJSON庫的頭文件cJSON.h,然后定義了一個JSON字符串。接下來,調用cJSON_Parse函數解析這個JSON字符串,并檢查返回值是否為空。
使用cJSON_GetObjectItem函數可以獲取JSON對象中指定名稱的值,并將其存儲在cJSON的結構體中。在本例中,我們獲取了“name”和“age”的值,并使用cJSON的結構體獲取這些值。
最后,我們使用printf函數打印“name”和“age”的值,并在最后刪除cJSON的結構體。
通過以上的例子,我們可以看到解析JSON數據的過程是非常簡單的,只需要幾行代碼就能實現。使用CJSON庫,我們可以輕松地在C程序中解析JSON數據。