如何从Java正确生成JSONArray?
我正在尝试使用Java生成那种JSON字符串(目的:用于Android的flot):
{ "data": [[1999, 1], [2000, 0.23], [2001, 3], [2002, 4], [2003, 1.3], [2004, 2.5], [2005, 2.0], [2006, 3.1], [2007, 2.9], [2008, 0.9]] }
为此,我正在使用JSONArray:
JSONArray jsonArray = new JSONArray(); jsonArray.put("[1999, 1]"); jsonArray.put("[2000, 0.23]"); jsonArray.put("[2001, 3]"); ...
但我得到的唯一结果是:
["[1999, 1]","[2000, 0.23]","[2001, 3]",..."[2008, 0.9]"]
如何删除括号之间的引用? 我可以输入数组的项目吗?
提前致谢!
你正在做的只是将字符串添加到数组中。 你不想要字符串,你想要嵌套数组。 所以你必须使用嵌套的JSONArray对象:
这是标准方式:
JSONArray nested1 = new JSONArray(); nested1.put(1999); nested1.put(1); jsonArray.put(nested1);
或者, 更简单 :
jsonArray.put(new JSONArray(Arrays.asList(1999, 1)));
或者, 甚至更简单 :
jsonArray.put(Arrays.asList(1999, 1)); // or use an int array: jsonArray.put(new int[]{1999, 1});