JSON是一種數(shù)據(jù)格式,它為數(shù)據(jù)的存儲(chǔ)和傳輸提供了一種通用的方式。在C語言中,我們可以使用JSON庫讀取和寫入JSON格式的數(shù)據(jù)。下面我們將介紹如何在C語言中使用JSON庫。
#include <stdio.h> #include <stdlib.h> #include <json-c/json.h> int main() { //創(chuàng)建一個(gè)JSON對(duì)象 json_object *obj = json_object_new_object(); //向JSON對(duì)象中添加一個(gè)鍵值對(duì) json_object_object_add(obj, "name", json_object_new_string("Tom")); //向JSON對(duì)象中添加一個(gè)鍵值對(duì) json_object_object_add(obj, "age", json_object_new_int(20)); //打印JSON對(duì)象 printf("json_obj: %s\n", json_object_to_json_string(obj)); //釋放JSON對(duì)象內(nèi)存 json_object_put(obj); //解析一個(gè)JSON字符串 char *json_str = "{\"name\":\"Jack\",\"age\":18}"; json_object *parse_obj = json_tokener_parse(json_str); //獲取JSON對(duì)象中的值 json_object *name_obj = json_object_object_get(parse_obj, "name"); const char *name = json_object_get_string(name_obj); json_object *age_obj = json_object_object_get(parse_obj, "age"); int age = json_object_get_int(age_obj); //打印解析結(jié)果 printf("Result: name=%s, age=%d\n", name, age); //釋放JSON對(duì)象內(nèi)存 json_object_put(parse_obj); return 0; }
上面的例子演示了如何創(chuàng)建JSON對(duì)象、向JSON對(duì)象中添加鍵值對(duì)、打印JSON對(duì)象、解析JSON字符串以及獲取JSON對(duì)象中的值。在使用JSON庫時(shí),需要注意盡可能避免內(nèi)存泄漏,即在使用完JSON對(duì)象后,要記得使用json_object_put函數(shù)釋放內(nèi)存。