【问题标题】:How to generate JSONArray properly from Java?如何从 Java 中正确生成 JSONArray?
【发布时间】:2012-02-20 06:31:03
【问题描述】:

我正在尝试使用 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]"]

如何删除括号之间的引号?我可以输入我的数组中的项目吗?

提前致谢!

【问题讨论】:

    标签: java arrays json


    【解决方案1】:

    您所做的只是将字符串添加到数组中。你不想要字符串,你想要嵌套数组。所以你必须使用嵌套的 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});
    

    【讨论】:

    • 非常感谢您快速详尽的回答!这很好用!
    猜你喜欢
    • 2020-01-08
    • 2013-09-29
    • 1970-01-01
    • 1970-01-01
    • 2018-05-15
    • 1970-01-01
    • 2019-09-05
    • 2018-08-20
    • 1970-01-01
    相关资源
    最近更新 更多