C語言實(shí)現(xiàn)解析JSON,需要使用相關(guān)的庫文件。這里我們使用cJSON庫,它提供了一組API,可以方便地解析和生成JSON文件。
//解析JSON數(shù)據(jù)的格式為: cJSON* cJSON_Parse(const char* value); //生成JSON格式的數(shù)據(jù)的格式為: char* cJSON_Print(cJSON* item);
在解析JSON時(shí),需要先將JSON字符串轉(zhuǎn)換成cJSON對(duì)象。例如:
char* jsonstr = "{\"name\":\"小明\",\"age\":20}"; cJSON* root = cJSON_Parse(jsonstr);
這里我們手動(dòng)定義JSON字符串,也可以從文件中讀取,或者從網(wǎng)絡(luò)請(qǐng)求中獲取,再進(jìn)行解析。
接下來,可以通過cJSON對(duì)象獲取JSON的各個(gè)屬性值:
const char* name = cJSON_GetObjectItem(root, "name")->valuestring; int age = cJSON_GetObjectItem(root, "age")->valueint;
在生成JSON文件時(shí),可以手動(dòng)構(gòu)造對(duì)應(yīng)的cJSON對(duì)象:
cJSON* root = cJSON_CreateObject(); cJSON_AddStringToObject(root, "name", "小明"); cJSON_AddNumberToObject(root, "age", 20); char* jsonstr = cJSON_Print(root);
這里我們手動(dòng)生成JSON對(duì)象,也可以從程序中動(dòng)態(tài)生成。最后通過cJSON_Print函數(shù)將cJSON對(duì)象生成JSON字符串。
以上就是C語言實(shí)現(xiàn)解析JSON的基本方法,適用于對(duì)JSON操作較為簡單的應(yīng)用場景。