cjson是一個輕量級的JSON解析器和生成器,能夠實現JSON和C語言之間的轉換。最近,我學習了c json.net這個JSON解析庫,非常方便。下面是我的學習筆記。
首先,需要在代碼中包含頭文件json.h。
#include "json.h"
接下來,我們可以使用json_parse函數將JSON字符串解析為一個JSON對象:
const char *json_str = "{\"name\":\"Tom\", \"age\": 19}"; json_object *json = json_parse(json_str);
解析后的json對象可以通過json_object_object_get_ex函數獲取其中的值:
json_object *name, *age; if (json_object_object_get_ex(json, "name", &name)) { printf("name=%s\n", json_object_get_string(name)); } if (json_object_object_get_ex(json, "age", &age)) { printf("age=%d\n", json_object_get_int(age)); }
我們還可以使用json_object_new_object()函數創建一個Json對象,并使用json_object_object_add()函數將鍵值對添加到對象中:
json_object *new_obj = json_object_new_object(); json_object *new_name = json_object_new_string("Jerry"); json_object *new_age = json_object_new_int(22); json_object_object_add(new_obj, "name", new_name); json_object_object_add(new_obj, "age", new_age); printf("%s\n", json_object_to_json_string(new_obj));
最后,需要記得在使用完json對象后,釋放內存。
json_object_put(json); json_object_put(new_obj);
這就是c json.net 解析的基本用法。