在C語言中,從JSON格式中反序列化取出指定的值,需要用到一些庫和方法。這里我們介紹一種簡單的方法,使用了 cJSON 開源庫。
首先,需要下載并安裝 cJSON 庫。具體安裝方法可以在其官網上查看。假設我們已經完成了安裝,現在可以在需要的代碼中引入該庫。
#include <cJSON.h>
接著,我們需要使用 cJSON_Parse() 函數將 JSON 格式字符串轉換為 cJSON 對象。例如,如果我們有以下 JSON 格式的字符串:
char* json_str = "{ \"name\":\"John\", \"age\":\"30\", \"city\":\"New York\" }";
那么我們可以使用如下代碼將其轉換為 cJSON 對象:
cJSON* json = cJSON_Parse(json_str);
現在我們可以使用 cJSON_GetObjectItem() 函數取出指定的值了。假設我們需要取出 age 的值:
cJSON* age_item = cJSON_GetObjectItem(json, "age");
int age = age_item->valueint;
以上代碼首先使用 cJSON_GetObjectItem() 函數獲取 age 的值,然后使用 valueint 屬性取出其整數值。如果需要取出其他類型的值,可以使用不同的屬性,例如 valuestring 屬性取出字符串類型的值。
最后,別忘了釋放 cJSON 對象的內存:
cJSON_Delete(json);
以上代碼將釋放 json 變量指向的 cJSON 對象的內存。
上一篇vue動態加載菜單
下一篇python 查詢進程號