我正在使用GSON进行一个项目的开发。特别是,我使用以下代码生成JSON字符串:
Gson gs = new Gson();
JsonObject cmdobj = new JsonObject();
cmdobj.addProperty("cmd", cmd);
cmdobj.add("arg", args);
String cmdstr = cmdobj.toString();
产生类似于以下内容的结果:
{"cmd":"HANDSHAKE","arg":{"protocol":"syncmanager","serverName":"12345678910"}}
然后在客户端机器上,读取JSON数据:
String cmdstr = readCommand(this.is);
Gson gs = new Gson();
JsonObject jsobj = gs.fromJson(cmdstr, JsonObject.class);
JsonElement cmd = jsobj.get("cmd");
JsonObject args = jsobj.get("arg").getAsJsonObject();
问题在于应该包含解析对象的jsobj不包含任何内容(如果我执行toString()则打印{})。为什么会这样?我只想要在另一侧拥有的JSonObject树,而不是对象序列化。有什么线索吗?