如果你有兩個 JSON 數據,想把它們合并起來,那么 C 語言提供了一些函數和方法可以幫助你實現這個操作。下面是一些代碼示例:
#include <stdio.h> #include <stdlib.h> #include <string.h> #include <jansson.h> int main(int argc, char **argv) { char *json_str1 = "{ \"name\": \"Jack\", \"age\": 25 }"; char *json_str2 = "{ \"city\": \"Beijing\", \"country\": \"China\" }"; json_t *json1 = json_loads(json_str1, 0, NULL); json_t *json2 = json_loads(json_str2, 0, NULL); json_object_update(json1, json2); char *result = json_dumps(json1, JSON_COMPACT); printf("合并后的 JSON 數據: %s\n", result); free(result); json_decref(json1); json_decref(json2); return 0; }
代碼中使用了 json_object_update 函數來合并兩個 JSON 對象,其中第一個參數為被更新的 JSON 對象,第二個參數為需要更新的 JSON 對象。這個函數會把第二個參數中的鍵值對更新到第一個參數對應的 JSON 對象中。
另外,還需要注意的是,在使用 jansson 庫時需要先調用 json_loads 函數將字符串轉化為 JSON 對象,使用 json_dumps 函數將 JSON 對象轉化為字符串。
最后需要銷毀所有的 JSON 對象,并釋放內存。