在C語言中,我們可以使用json-c庫來解析HTTP返回的JSON數(shù)據(jù)。下面是一個簡單的示例。
#include <stdio.h> #include <stdlib.h> #include <string.h> #include <json-c/json.h> int main(int argc, char **argv) { const char *json_str = "{ \"name\":\"John\", \"age\":30, \"city\":\"New York\" }"; struct json_object *parsed_json; struct json_object *name; struct json_object *age; struct json_object *city; parsed_json = json_tokener_parse(json_str); json_object_object_get_ex(parsed_json, "name", &name); json_object_object_get_ex(parsed_json, "age", &age); json_object_object_get_ex(parsed_json, "city", &city); printf("Name: %s\n", json_object_get_string(name)); printf("Age: %d\n", json_object_get_int(age)); printf("City: %s\n", json_object_get_string(city)); json_object_put(parsed_json); return 0; }
上面的代碼中,我們首先定義了一個JSON字符串,然后使用json_tokener_parse()函數(shù)將其解析成一個json_object對象。接著,我們使用json_object_object_get_ex()函數(shù)獲取對象中的各個屬性,最后使用json_object_get_XXX()系列函數(shù)獲取屬性的值并進行輸出。
需要注意的是,這些函數(shù)返回的值均為json_object類型,因此在使用時需要使用相應的獲取值的函數(shù)進行轉(zhuǎn)換。