在C語言中,JSON庫的使用是廣泛的。常用的JSON庫主要有cJSON、Jansson和json-c。
首先,我們來看看cJSON庫。cJSON是一個(gè)輕量級(jí)的JSON解析器和生成器,非常適合嵌入式設(shè)備和低功耗環(huán)境。
示例代碼: cJSON *json = cJSON_Parse(data); if (json == NULL) { // 解析失敗 } cJSON_Delete(json);
接下來是Jansson庫。Jansson是一個(gè)類似于cJSON的庫,但是Jansson支持JSON schema驗(yàn)證、十六進(jìn)制編碼和解碼以及JSON patch。
示例代碼: json_t *root = json_object(); json_object_set_new(root, "key", json_string("value")); char *json_str = json_dumps(root, JSON_PRESERVE_ORDER); json_decref(root);
最后是json-c庫。json-c是一個(gè)輕量級(jí)的JSON解析器和生成器,與cJSON非常相似,但支持JSON patch操作。
示例代碼: json_object *json = json_tokener_parse(data); if (json == NULL) { // 解析失敗 } json_object_put(json);
綜上所述,cJSON適用于嵌入式設(shè)備和低功耗環(huán)境,Jansson支持JSON schema驗(yàn)證等高級(jí)功能,而json-c支持JSON patch操作。使用時(shí),需要根據(jù)具體需求選擇合適的庫。