【发布时间】:2020-09-17 08:08:50
【问题描述】:
我必须将 Map
我知道使用 Gson 和其他库有更简单的方法来实现这一点,但在这种情况下需要使用 Jettison。
我从文档中了解到我可以做到:
Map<String, Map<String, String>> tagsMap = new HashMap<>();
Map<String, String> tags = new HashMap<>();
tags.put("tag1", "value1");
tags.put("tag2", "value2");
tags.put("tag3", "value3");
tagsMap.put("table1", tags);
tagsMap.put("table2", tags);
tagsMap.put("table3", tags);
JSONObject jsonObject = new JSONObject(tagsMap);
System.out.println(jsonObject.toString());
但new JSONObject(map) 似乎只适用于 Map
{"table3":"{tag1=value1, tag2=value2, tag3=value3}","table2":"{tag1=value1, tag2=value2, tag3=value3}","table1":"{tag1=value1, tag2=value2, tag3=value3}"}
我想要的输出应该是正确的 JSON 内容,像这样:
{"table3":{"tag1":"value1", "tag2":"value2", "tag3":"value3"},"table2":{"tag1":"value1", "tag2":"value2", "tag3":"value3"},"table1":{"tag1":"value1", "tag2":"value2", "tag3":"value3"}}
有没有什么办法可以做到这一点ONLY Jettison?
【问题讨论】:
-
对于 jettison 1.4.1,这可以按您的意愿工作。你用的是什么版本?
-
@michalk 你是对的。我使用的是 1.2 版。