java - 如何从 Java 正确生成 JSONArray?

标签 java arrays json

我正在尝试使用 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);

或者,simpler :

jsonArray.put(new JSONArray(Arrays.asList(1999, 1)));

或者,even simpler :

jsonArray.put(Arrays.asList(1999, 1));
// or use an int array:
jsonArray.put(new int[]{1999, 1});

关于java - 如何从 Java 正确生成 JSONArray?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9030403/

相关文章:

java - 在实例变量和方法之前写 "this."是好还是坏风格?

Java 多个值到映射中的一个键

java - 如何在golang中强制使用UTF-8编码

ios - 如何在 UITableview 单元格中正确显示分隔的 JSON 数据?

javascript - 在选择中为 ng-model 分配一个对象

json - Kotlinx 序列化 : How to circumvent reified typeargs for deserialization?

java - 服务程序 : HTTP Status 404 - Not Found

java - 工具栏汉堡包干扰后退箭头按钮

arrays - 创建一个不受约束的非对称数组数组

c++ - Armadillo C++-从const内存初始化只读矩阵,无需复制