Create merged JSON with GSON

merge two json objects java jackson
merge two json arrays java
write multiple json objects to file java
json merge
merge two pojo java
groovy combine json objects
json object concatenate string
aggregate json data java

I've found tons of examples of using GSON to convert either an single object, or a list of that single object, to its respective JSON. Quite easy to do. Even if the object has objects as its properties, this still is trivial.

But let's say I have 5 objects of interest (names, companies, colors, numbers, candy) and they have no relationship to each other at all. So I make my database calls, and now have 5 lists full of all of the above in my code.

Now, how could I put these lists into a JSON Array whose parent name is "items" and contains all of the above as children beneath it? So one parent "items", with 5 children (each child is a sibling of each other).

What is the appropriate way using GSON (or not??) to construct such a tree or structure? I noticed there is a lot in GSON such as JSONArray and such, but wasn't able to figure it out.

Thanks so much!

Yes, you can. You have to build your own serializer first. For instance:

import org.json.JSONArray;
import org.json.JSONException;
import org.json.JSONObject;

public static String toJson(List<Item> items){


        JSONObject jsonObj = new JSONObject();

        JSONArray jsonArr = new JSONArray();

        for(Item i : items){
            JSONObject itemObj = new JSONObject();
            itemObj.put("names", i.getName());
            itemObj.put("companies", i.getCompanies());
            itemObj.put("colors", i.getColors());
            itemObj.put("numbers", i.getNumbers());
            itemObj.put("candy", i.getCandy());

        jsonObj.put("items", jsonArr);

        return jsonObj.toString();

    } catch(JSONException ex){

    return null;

Merge Gson and JsonObject · Issue #678 · google/gson · GitHub, I have Gson and JsonObject, such as: Gson gson = new Gson(); String together to host and review code, manage projects, and build software together. I want to merge gson and json object together, result like this: Gson provides toJson() and fromJson() methods to convert Java Objects to and from JSON string. Dependencies To add Gson to your Gradle project, add the following dependency to build.gradle file:

Depending on what the fields are, you can make a model class and set the objects from database. The use Gson and form your Json string using jsonFrom.


public class Items{

ArrayList<String> names;

String candy;

//nested custom class if necessary
ArrayList<Companies> companies;

//other fields here 

//getter setter

Now set the values for objects of Items.


Gson gson = new Gson();
String json = gson.toJson(modelClassObject);  

If i got your requirement right, json is the String you need.

merge method for JsonObject · Issue #166 · google/gson · GitHub, What about new method(s) merge for JsonObject it would be something simmilar to host and review code, manage projects, and build software together. exist in the json string. something like: gson.merge(String updatedValuesAsJson,  Gson gson = new GsonBuilder().create(); 1. GsonBuilder.setPrettyPrinting() – Pretty print JSON. By default Gson will create minified JSON strings. This is important to reduce the amount of data being transferred over the network. But this minified JSON is not helpful for developers while developing/debugging the application.

To merge JSONs you need to define some conventions of merging. If "Overlay" strategy (replace or add) conforms you, you can find a helpful JSON Merging Library in this answer.

Convert Java Object to JSON and merge 2 JSON – Cryptic Articles, a Java Object to JSON Merge 2 JSON to single JSON (Create 2 Java Gson is a Java library that can be used to convert Java Objects into… Gson is a popular JSON processing library developed by Google for reading, writing, and parsing JSON data in Java. Dependencies To add Gson to your Gradle project, add the following dependency to build.gradle file:

How to Merge/Concat Multiple JSONObjects in Java? Best way to , Yeah it works for any valid JSON format. Could you please send me your detailed requirement? I'll be able to create simple program using that. In our second approach, we'll see how to create a Gson instance and use the fromJson method. This method deserializes the specified JSON String into an object of the specified class: public <T> T fromJson(String json, Class<T> classOfT) throws JsonSyntaxException

Gson tutorial, create(). GsonBuilder can be used to build Gson with various configuration settings. Java Gson toJson. The toJson() method serializes the  Mapping JSON to Java objects (and vice versa) is from the 90s. Gson is the modern solution to map between Java and JSON automatically with minimal effort. You just need to know how! Learn every detail about Gson's capabilities, configuration & customization in our book. Our book contains everything you need to know about Gson.

How can we merge two JSON objects in Java?, A JSON is a lightweight data-interchange format and the format of JSON is a key with value pair. The JSONObject can parse a text from a String  Learn to use Google GSON library to deserialize or parse JSON, containing json array, to java array or java list objects. It’s worth mentioning that JSON has only array datatype. Java has both – arrays and lists. Java program to deserialize json array as root – to Java array of objects. Java program to deserialize json array as root