JSON是一種輕量級的數據交換格式,被廣泛地用于互聯網傳輸數據。C語言中可以使用第三方的JSON庫來解析和生成JSON格式的數據。在使用JSON庫時,需要先將JSON字符串解析成JSON對象,然后再針對JSON對象進行操作。下面是使用C語言的JSON庫實例化JSON對象的例子:
#include <stdio.h> #include <stdlib.h> #include <jansson.h> int main() { char *json_string = "{\"name\": \"Tom\", \"age\": 20}"; json_error_t error; json_t *json_obj = json_loads(json_string, 0, &error); //解析JSON字符串 if (json_obj == NULL) { fprintf(stderr, "解析JSON字符串失敗:%s\n", error.text); return 1; } json_t *name_obj = json_object_get(json_obj, "name"); //獲取名字屬性 json_t *age_obj = json_object_get(json_obj, "age"); //獲取年齡屬性 const char *name = json_string_value(name_obj); //獲取名字屬性的值 int age = json_integer_value(age_obj); //獲取年齡屬性的值 printf("名字是:%s\n", name); printf("年齡是:%d\n", age); json_decref(json_obj); //釋放JSON對象 return 0; }
在上面的代碼中,我們首先定義了一個JSON字符串“{\"name\": \"Tom\", \"age\": 20}”作為實例化JSON對象的輸入。接著調用json_loads函數將JSON字符串解析成JSON對象,如果解析失敗,則會打印錯誤信息,并返回1退出程序。
然后我們使用json_object_get函數分別獲取JSON對象中的名字屬性和年齡屬性,并使用json_string_value和json_integer_value函數獲取這些屬性的值,并分別賦值給變量name和age。最后,我們輸出變量name和age的值,釋放JSON對象的內存,程序退出。
上一篇c 臨時對象轉json
下一篇c 使用json字符串