I'm having a problem serializing an object using Gson.
@XmlRootElement class Foo implements Serializable { private int number; private String str; public Foo() { number = 10; str = "hello"; } }
Gson will serialize this into a JSON
{"number":10,"str":"hello"}
.
However, I want it to be
{"Foo":{"number":10,"str":"hello"}}
,
so basically including the top level element. I tried to google a way to do this in Gson, but no luck. Anyone knows if there is a way to achieve this?
Thanks!
You need to add the element at the top of the the object tree. Something like this:
Gson gson = new Gson(); JsonElement je = gson.toJsonTree(new Foo()); JsonObject jo = new JsonObject(); jo.add("Foo", je); System.out.println(jo.toString()); // Prints {"Foo":{"number":10,"str":"hello"}}
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With