Gson是一個Java庫,可以將Java對象轉(zhuǎn)換為JSON字符串,也可以將JSON字符串轉(zhuǎn)換為Java對象。有時候,我們需要將多個JSON字符串合并成一個JSON字符串,這時就需要使用Gson合并JSON。
Gson的JsonElement類提供了一個merge方法,可以將兩個JsonElement對象合并成一個。我們可以使用這個方法將多個JSON字符串合并成一個。以下是一個例子:
JsonObject jsonObject1 = new JsonObject(); jsonObject1.addProperty("name", "張三"); jsonObject1.addProperty("age", 18); JsonObject jsonObject2 = new JsonObject(); jsonObject2.addProperty("name", "李四"); jsonObject2.addProperty("sex", "男"); JsonArray jsonArray = new JsonArray(); jsonArray.add(jsonObject1); jsonArray.add(jsonObject2); JsonElement jsonElement = JsonParser.parseString(jsonArray.toString()); JsonObject mergedJson = new JsonObject(); for (JsonElement element : jsonElement.getAsJsonArray()) { JsonObject obj = element.getAsJsonObject(); for (Map.Entryentry : obj.entrySet()) { mergedJson.add(entry.getKey(), entry.getValue()); } }
上面的代碼將兩個JsonObject對象添加到一個JsonArray中,然后將這個JsonArray轉(zhuǎn)換為一個JsonElement對象。接著,我們遍歷JsonElement對象中的元素,將它們合并到一個JsonObject中。最終,得到的mergedJson即為合并后的JSON字符串。