【发布时间】:2014-11-25 21:02:21
【问题描述】:
我在将地图(或列表)的地图序列化为 JSON 时遇到问题。它可以达到任何水平。我正在使用 GSON 将地图转换为 JSON,但没有得到所需的输出。考虑以下示例:
Map<String, String> map = new HashMap<String, String>();
map.put("key1", "value1");
map.put("key2", new ArrayList<String>(){{add("value2");add("value3");}});
当我序列化这张地图时,我得到以下输出:
{
"key1" : "value1",
"key2" : "[value2, value3]"
}
当我在地图中放置地图时,情况会变得更糟。我想要的输出是:
{
"key1" : "value1",
"key2" : ["value2", "value3"]
}
知道如何获得这样的输出吗?我已经尝试过 ObjectMapper 和 GsonBuilder.registerTypeAdapter 但到目前为止还没有成功。
提前致谢。
【问题讨论】:
-
Map<String, Object> map = new HashMap<>(); map.put("key1", "value1"); map.put("key2", Arrays.asList("value2", "value3")); String json = new Gson().toJson(map)工作正常。