如何使用Java将字符串和整数写入JSON数组?

问题描述

我正在尝试在JSON文件中创建以下结果:

  "numbers": [
    {
        "small": 2,"large": 5,"type": "single"
    },{
        "small": 10,"large": 50,"type": "double"
    }]

我似乎无法弄清楚如何使用JSON Simple来实现这一点(使用Java编码)。当我使用时:

JSONObject obj = new JSONObject();
obj.put("small",2);

它不会将其添加到数组中。当我创建数组时:

JSONArray nums = new JSONArray();
nums.add("small",2)

这不起作用,因为add()不会采用两个参数。

请帮助!

解决方法

[
    {

这意味着 object [ ])的 array { })。

所以:

JSONObject obj1 = new JSONObject();
obj1.put("small",2);
obj1.put("large",5);
obj1.put("type","single");

JSONObject obj2 = new JSONObject();
obj2.put("small",10);
obj2.put("large",50);
obj2.put("type","double");

JSONArray nums = new JSONArray();
nums.add(obj1);
nums.add(obj2);
,

您有一个顶层对象,其中包含一个名为“数字”的字段,该字段是对象的数组,每个对象包含三个字段。

因此可能类似于:

JSONobject top = new JSONobject();
JSONarray arr = new JSONarray();
top.put("numbers",arr);

然后针对数组中的每个元素

JSONobject obj1 - new JSONobject();
obj1.put("small",4);
arr.add(obj1);

我对特定的API不熟悉,但是详细信息仅取决于JSON。