cjson和json-c都是C語言處理JSON數據的庫,它們都提供了解析JSON數據和生成JSON數據的函數。
cjson是一個非常輕量級的JSON庫,其代碼只有兩個源文件,不依賴其他庫文件,可以很容易地嵌入到其他項目中。cjson提供了解析JSON數據的函數cJSON_Parse(),生成JSON數據的函數cJSON_Print(),以及一系列操作JSON數據的函數,如cJSON_AddItemToObject()、cJSON_CreateObject()等。
json-c是一個更加完整的JSON庫,其依賴一些系統庫文件,如libcurl、libjansson等,但功能更加強大,支持JSON數據的解析、生成、格式化、序列化等各種操作。json-c提供了很多豐富的API,如json_object、json_array、json_tokener等。
// cjson解析JSON數據的例子 char* json_data = "{\"name\": \"Tom\", \"age\": 20}"; cJSON* jsonObj = cJSON_Parse(json_data); char* name = cJSON_GetObjectItem(jsonObj, "name")->valuestring; int age = cJSON_GetObjectItem(jsonObj, "age")->valueint; cJSON_Delete(jsonObj); // json-c生成JSON數據的例子 json_object* obj = json_object_new_object(); json_object* name = json_object_new_string("Tom"); json_object* age = json_object_new_int(20); json_object_object_add(obj, "name", name); json_object_object_add(obj, "age", age); const char* json_str = json_object_to_json_string(obj); json_object_put(obj);
上一篇csv和json