在C語(yǔ)言中,我們可以使用json-c這個(gè)庫(kù)來(lái)進(jìn)行JSON的解析和操作。假設(shè)我們有兩個(gè)JSON對(duì)象,我們希望將它們合并成一個(gè)新的JSON對(duì)象。下面是一段示例代碼:
#include <stdio.h> #include <json-c/json.h> int main() { char *json_str1 = "{\"name\": \"Alice\", \"age\": 20}"; char *json_str2 = "{\"gender\": \"female\", \"address\": {\"city\": \"Beijing\", \"street\": \"Nanluoguxiang\"}}"; /* 解析json_str1和json_str2 */ json_object *json1 = json_tokener_parse(json_str1); json_object *json2 = json_tokener_parse(json_str2); /* 將json2中的所有鍵值對(duì)添加到j(luò)son1中 */ json_object_object_foreach(json2, key, val) { json_object_object_add(json1, key, val); } /* 打印合并后的JSON對(duì)象 */ printf("%s\n", json_object_to_json_string(json1)); /* 釋放內(nèi)存 */ json_object_put(json1); json_object_put(json2); return 0; }
上面的代碼中,我們先將兩個(gè)JSON字符串解析為JSON對(duì)象,然后使用json_object_object_foreach()
函數(shù)和json_object_object_add()
函數(shù)將json2中的所有鍵值對(duì)添加到j(luò)son1中,最后打印合并后的JSON對(duì)象。