将Map转换为JSON不能正确解析列表

时间:2015-01-05 16:01:03

标签: java json

我遇到了Map<String, Object>创建新JSON对象的问题。例如:

Map<String, Object> data = new Map<String, Object>();
data.put( "myList", new ArrayList<String>( Arrays.asList("item1", "item2")))
JSONObject json = new JSONObject(data);

我使用json.toString()获得的是

"{
  "myList": "[item1, item2]"
 }"

什么时候我应该

"{
  "myList": ["item1", "item2"]
 }"

注意围绕 数组中的引号?关于如何解决这个问题的任何想法?

1 个答案:

答案 0 :(得分:1)

这取决于您的JSON实现 - 使用wslite,以下代码

Map<String, Object> data = new HashMap<String, Object>();
data.put("myList", new ArrayList<String>(Arrays.asList("item1", "item2")));
JSONObject json = new JSONObject(data);

System.out.println(json);

导致

{"myList":["item1","item2"]}

在我的机器上。