C語(yǔ)言中對(duì)于JSON數(shù)據(jù)的處理可以通過(guò)第三方庫(kù)來(lái)實(shí)現(xiàn),比如常用的cJSON庫(kù)。
//引入cJSON頭文件 #include <stdio.h>#include <cJSON.h>//JSON字符串 char* jsonStr = "{ \"user\" : \"Tom\", \"age\" : 18, \"gender\" : \"male\" }"; //解析JSON數(shù)據(jù) void parseJson(char* jsonStr){ cJSON* json = cJSON_Parse(jsonStr); if(json){ cJSON* user = cJSON_GetObjectItemCaseSensitive(json, "user"); cJSON* age = cJSON_GetObjectItemCaseSensitive(json, "age"); cJSON* gender = cJSON_GetObjectItemCaseSensitive(json, "gender"); printf("Name : %s, Age : %d, Gender : %s", user->valuestring, age->valueint, gender->valuestring); cJSON_Delete(json); //釋放內(nèi)存 } }
通過(guò)調(diào)用cJSON庫(kù)中的cJSON_Parse函數(shù),可以將JSON字符串解析成cJSON對(duì)象,再通過(guò)cJSON_GetObjectItemCaseSensitive函數(shù)獲取對(duì)象中的鍵值對(duì)。最后記得通過(guò)cJSON_Delete函數(shù)釋放內(nèi)存。