Using Gson and JsonObject to format and parse data

2019-03-18 11:01发布

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?

1条回答
forever°为你锁心
2楼-- · 2019-03-18 11:22

You should use:

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

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

查看更多
登录 后发表回答