C語言中使用JSON格式的數據很常見,但是有時候需要將JSON字符串轉換為C語言的變量,或者從C語言的變量中獲取JSON數據。這時就需要用到C字符轉JSON和JSON取值的技巧。
在C語言中,使用第三方庫 cJSON 就可以方便地實現JSON數據的轉換和讀取。首先需要在代碼中引入 cJSON 庫:
#include <cJSON.h>
接下來可以通過 cJSON_Parse 函數將JSON格式的字符串轉換為 cJSON 類型的變量:
char *json_string = "{ \"name\": \"Tom\", \"age\": 18 }"; cJSON *json = cJSON_Parse(json_string);
這時候,cJSON 類型的變量就能夠訪問到 JSON 數據的結構體內容。例如,通過 cJSON_GetObjectItem 函數可以獲取 JSON 中的某個屬性值:
cJSON *name = cJSON_GetObjectItem(json, "name"); printf("Name: %s\n", name->valuestring);
以上代碼會輸出 "Name: Tom",即從 JSON 字符串中取出了 name 屬性的值。cJSON 類型的變量還可以通過遞歸方式來獲取 JSON 數據結構的子級屬性值。
在處理完 cJSON 變量后,需要釋放占用的內存。可以通過 cJSON_Delete 函數來釋放變量所占用的內存:
cJSON_Delete(json);
這樣,就能夠在 C 語言中方便地處理 JSON 數據了。
上一篇C 實體類轉 json
下一篇python 類作為對象