C語言可以很輕易地解析JSON格式的數據,這在Web編程和API調用中非常有用。下面,我們來看看如何在C語言中取得JSON數據:
#include#include #include #include int main() { char *json = "{\"name\":\"Tom\",\"age\":26,\"address\":{\"city\":\"Shenzhen\",\"province\":\"Guangdong\"}}"; json_t *root = NULL; json_error_t error; root = json_loads(json, 0, &error); //將JSON字符串轉換為JSON對象 if (!root) { printf("error: on line %d: %s\n", error.line, error.text); return -1; } json_t *name = json_object_get(root, "name"); //獲取name字段的值 printf("Name: %s\n", json_string_value(name)); json_t *age = json_object_get(root, "age"); //獲取age字段的值 printf("Age: %d\n", json_integer_value(age)); json_t *address = json_object_get(root, "address"); //獲取address字段的值 json_t *city = json_object_get(address, "city"); //獲取city字段的值 printf("City: %s\n", json_string_value(city)); json_t *province = json_object_get(address, "province"); //獲取province字段的值 printf("Province: %s\n", json_string_value(province)); json_decref(root); //釋放JSON對象的內存空間 return 0; }
上述代碼中,我們使用了jansson庫來解析JSON數據。在代碼中,我們首先將JSON格式的字符串轉換為JSON對象,并從中取出需要的字段值。需要注意的是,在使用jansson庫時,需要在編譯選項中加入-ljansson參數。
上一篇python 類的結束
下一篇vue分頁標簽打印