使用GSON将JSONObject转换为JSON

时间:2014-09-22 09:24:34

标签: java json serialization gson deserialization

我有一个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转换为Map&清单?? 或任何工作?

感谢。

1 个答案:

答案 0 :(得分:0)

只需使用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>