隨著 JSON 的應(yīng)用和普及,越來越多的編程語言都提供了相關(guān)的庫支持,C 語言也不例外。以下是幾個常用的 C 語言 JSON 庫。
//示例代碼1 #include <stdio.h> #include <json-c/json.h> int main() { //創(chuàng)建 json 對象 struct json_object *jobj = json_object_new_object(); //添加 key-value 對 json_object_object_add(jobj, "name", json_object_new_string("Alice")); json_object_object_add(jobj, "age", json_object_new_int(20)); //轉(zhuǎn)換為字符串并輸出 printf("%s", json_object_to_json_string(jobj)); //釋放內(nèi)存 json_object_put(jobj); return 0; }
json-c 是一個輕量級、快速且可靠的 JSON 庫。它提供了豐富的函數(shù)和宏來創(chuàng)建、解析和操作 JSON 數(shù)據(jù)。
//示例代碼2 #include <stdio.h> #include <jansson.h> int main() { //創(chuàng)建 json 對象 json_t *jobj = json_object(); //添加 key-value 對 json_object_set_new(jobj, "name", json_string("Bob")); json_object_set_new(jobj, "age", json_integer(30)); //轉(zhuǎn)換為字符串并輸出 printf("%s", json_dumps(jobj, JSON_COMPACT)); //釋放內(nèi)存 json_decref(jobj); return 0; }
jansson 是另一個常用的 C 語言 JSON 庫,它同樣提供了一系列函數(shù)來創(chuàng)建、解析和操作 JSON 數(shù)據(jù)。與 json-c 相比,jansson 更加簡潔和直觀。
總之,選擇哪個 JSON 庫要根據(jù)實際情況而定,需要考慮到性能、易用性、功能完整性等方面的因素。