在開發中,C語言和JSON都是非常常用的數據格式。在使用C語言開發過程中,經常需要處理JSON數據,因此我們需要掌握C語言中處理JSON數據的方法。
下面是一個簡單的C語言處理JSON數據的例子:
#include <stdio.h> #include <stdlib.h> #include <string.h> #include <jansson.h> int main() { char *json_str = "{ \"name\": \"張三\", \"age\": 25, \"address\": { \"province\": \"廣東\", \"city\": \"深圳\" } }"; json_error_t error; json_t *root = json_loads(json_str, 0, &error); json_t *name_obj = json_object_get(root, "name"); const char *name = json_string_value(name_obj); json_t *age_obj = json_object_get(root, "age"); int age = json_integer_value(age_obj); json_t *address_obj = json_object_get(root, "address"); json_t *province_obj = json_object_get(address_obj, "province"); const char *province = json_string_value(province_obj); json_t *city_obj = json_object_get(address_obj, "city"); const char *city = json_string_value(city_obj); printf("名稱:%s\n", name); printf("年齡:%d\n", age); printf("省份:%s\n", province); printf("城市:%s\n", city); json_decref(root); return 0; }
上述代碼中,我們使用了第三方庫jansson來解析JSON數據。首先,我們將JSON字符串轉換成json_t對象,然后通過json_object_get函數獲取JSON對象中的字段值。最后通過json_string_value和json_integer_value函數獲取對應的字符串或整數。
運行上面的代碼,輸出結果如下:
名稱:張三 年齡:25 省份:廣東 城市:深圳
以上就是一個簡單的C語言處理JSON數據的例子。