我使用
JsonObject和
Gson格式化我需要以String形式发送的数据,然后在其他地方检索和解析.
这是我的简单代码,它不工作:
这是我的简单代码,它不工作:
- 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
- }
我在这里做错了什么?
你应该使用:
- JsonObject newObj = new JsonParser().parse(toSend).getAsJsonObject();
那里有很多电话,但要点是要使用JsonParser课.