欧美一区二区三区,国内熟女精品熟女A片视频小说,日本av网,小鲜肉男男GAY做受XXX网站

java 兩個json合并

黃文隆1年前8瀏覽0評論

在Java開發中,處理JSON數據是很常見的操作。有時候我們需要將兩個JSON數據合并成一個JSON數據,本文將為大家介紹Java如何實現兩個JSON數據的合并。

以下是合并兩個JSON數據的Java代碼:

JSONObject json1 = new JSONObject("{'name':'張三', 'age':18, 'gender':'male', 'hobby':['reading', 'swimming']}");
JSONObject json2 = new JSONObject("{'age':19, 'profession':'student', 'hobby':['dancing', 'music']}");
JSONObject mergedJson = new JSONObject(json1, JSONObject.getNames(json1));
mergedJson.merge(json2, new BiFunction() {
@Override
public Object apply(String key, Object oldValue, Object newValue) {
if (oldValue instanceof JSONArray && newValue instanceof JSONArray) {
JSONArray oldArray = (JSONArray) oldValue;
JSONArray newArray = (JSONArray) newValue;
for (int i = 0; i< newArray.length(); i++) {
oldArray.put(newArray.get(i));
}
return oldArray;
} else {
return newValue;
}
}
});

上述代碼中,我們使用了merge()方法來合并兩個JSON數據,其中第一個JSON數據是我們要合并的目標數據,第二個JSON數據則是合并的源數據。

在合并過程中,我們使用了一個Lambda表達式BiFunction(),從中我們可以看到它包含三個參數,分別表示當前JSON數據的key、當前JSON數據的value、源JSON數據的value。當遇到類型為JSONArray的value時,我們需要將源JSON數據中的JSONArray逐條添加到目標JSON數據的JSONArray中。最后,合并后的JSON數據存儲在mergedJson對象中。

這樣,我們就介紹了Java如何實現兩個JSON數據的合并。希望對大家有一定的幫助。