我有一个 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 & 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<JsonElement>
关于java - 使用 GSON 将 JSONObject 转换为 JSON,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25970634/