JSON是一種輕量級的數(shù)據(jù)交換格式,常用于前后端數(shù)據(jù)傳輸。在C語言中,我們可以使用第三方庫cJSON來解析JSON格式的數(shù)據(jù)。cJSON能夠?qū)SON格式的字符串解析為一個C語言中的json對象,方便我們對JSON數(shù)據(jù)進行操作。
// 示例JSON數(shù)據(jù) char *jsonStr = "{\n\ \"name\": \"Tom\",\n\ \"age\": 18,\n\ \"hobby\": [\"basketball\", \"reading\"]\n\ }"; // 解析JSON cJSON *json = cJSON_Parse(jsonStr); if (json == NULL) { // JSON解析失敗 return; } // 獲取key對應(yīng)的value cJSON *nameObj = cJSON_GetObjectItem(json, "name"); if (nameObj != NULL) { // 獲取字符串類型的value char *name = nameObj->valuestring; printf("name: %s\n", name); }
使用cJSON解析JSON數(shù)據(jù),我們可以通過cJSON_Parse函數(shù)將JSON字符串轉(zhuǎn)換為C語言中的json對象。之后,我們可以通過cJSON_GetObjectItem函數(shù)獲取json對象中指定key對應(yīng)的value,包括字符串、數(shù)字、數(shù)組、嵌套對象等不同類型。使用cJSON,我們可以更加方便地處理JSON數(shù)據(jù)。