在C語言中,我們經(jīng)常需要將JSON格式的數(shù)據(jù)轉(zhuǎn)換成C語言中的對(duì)象,然后再進(jìn)行各種操作。C JSON是一個(gè)開源的C語言JSON解析庫,可以幫助我們方便快捷地將JSON數(shù)據(jù)轉(zhuǎn)換成C語言中的對(duì)象。
下面是一個(gè)使用C JSON庫將JSON數(shù)據(jù)轉(zhuǎn)換為對(duì)象的示例代碼:
#include <stdio.h> #include <cJSON.h> int main() { char json_string[] = "{\"name\": \"Tom\", \"age\": 25}"; cJSON *json_object = cJSON_Parse(json_string); if (json_object != NULL) { const cJSON *name = cJSON_GetObjectItem(json_object, "name"); const cJSON *age = cJSON_GetObjectItem(json_object, "age"); if (cJSON_IsString(name) && cJSON_IsNumber(age)) { printf("Name: %s, Age: %d\n", name->valuestring, age->valueint); } cJSON_Delete(json_object); } return 0; }
以上代碼首先定義了JSON數(shù)據(jù)字符串,然后調(diào)用cJSON_Parse函數(shù)將其轉(zhuǎn)換為cJSON對(duì)象。接著,使用cJSON_GetObjectItem函數(shù)獲取對(duì)象中的name和age字段,并判斷其類型是否為字符串和數(shù)字。最后,輸出轉(zhuǎn)換后的對(duì)象中的name和age值,并釋放cJSON對(duì)象內(nèi)存。