我有一个Java对象,它包含许多类型的变量,包括一个JSONObject。当我调试我的对象时,我得到了JSONObject的以下字符串:
{"INCLUSIONS":{"OPTIONS":[{"display":"Complimentary stay for children under 5 without extra bed"}]}}
但是当我使用:-gson.toJson(JSONObj)时,我得到了如下结果
{"myHashMap":{"INCLUSIONS":{"myHashMap":{"OPTIONS":{"myArrayList":[{"myHashMap":{"display":"Complimentary stay for children under 5 without extra bed"}}]}}}}}
谁能解释一下为什么要将JSONObject转换为地图和列表??或者其他工作??
谢谢。
发布于 2014-09-22 17:36:25
只需使用myJsonObj.toString()
而不是myJsonObj.toJSON()
您的问题发生是因为JSONObject被存储为HashMap,以允许程序员使用基于键的方法来获取值。举个例子,
String jsonStr = "{'key': 'value'}";
JsonObject json = gson.fromJson(jsonStr, JsonObject.class);
String value = json.get("key").getAsString();
您可以认为json属性存储为HashMap<JsonElement>
https://stackoverflow.com/questions/25970634
复制相似问题