Jazib
Jazib

Reputation: 1230

Using Gson and JsonObject to format and parse data

I am using JsonObject and Gson to format the data i need to send in the form of String and then retrieve and parse it somewhere else. This is my simple code which is not working:

public static void main(String[] args) 
{

    Gson g = new Gson();
    Gson listG = new Gson();
    ArrayList<String> l= new ArrayList<String>();
    l.add("abcd");
    l.add("efgh");
    l.add("ijkl");

    String list = listG.toJson(l);

    JsonObject jObject = new JsonObject();
    jObject.addProperty("command" , 1);
    jObject.addProperty("message" , "this is a test message");
    jObject.addProperty("list" , list);

    String toSend = g.toJson(jObject);
    System.out.println(toSend);  

    Gson rec = new Gson();
    JsonObject newObj = rec.fromJson(toSend, JsonObject.class);
    System.out.println(newObj);  // getting nothing in newObj


}

What am i doing wrong here?

Upvotes: 12

Views: 19257

Answers (1)

NG.
NG.

Reputation: 22904

You should use:

JsonObject newObj = new JsonParser().parse(toSend).getAsJsonObject();

Lots of calls in there, but the gist is to use the JsonParser class.

Upvotes: 17

Related Questions