问题描述
我正在尝试在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。