Java 使用GSON将JSONObject转换为JSON
我有一个Java对象,它包含许多类型的变量,包括一个JSONObject。 调试对象时,我得到了JSONObject的以下字符串:-Java 使用GSON将JSONObject转换为JSON,java,json,serialization,gson,deserialization,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":{
{"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&list??
或者有什么工作吗
谢谢。只要使用
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
请提供您为此编写的Java代码,因为您似乎正在使用myHashMap作为json中使用的变量。