最外层是数组对象,里面也是数组对象,我要怎么把里面的数组填到外层数组里呢

"Rule": [
{
"type": "fruit",

                "fruitInfo": [
                    {
                        "apple": "sweet",
                        "pineapple": "sour",

                    }
                ],

            }
        ]

                    最外层是数组对象,里面也是数组对象,我要怎么把里面的数组填到外层数组里呢

str=你的字符串
JSONObject out = JSON.parseObject(str);
JSONArray childList = JSON.parseArray(out.get("Rule"));
for(int i=0;i<childList.size();i++){
JSONObject childListElement = childList.get(i);
JSONArray childChildList = JSON.parseArray(childListElement.get("fruitInfo"));
for(int j=0;j<childChildList.size();j++){
JSONObject childChildListElement = childChildList.get(j);
///////////////////////////////////////
childListElement.put(" ",childChildListElement.get("apple"))
/////////////////////////////////////
}
}

基本就是这个逻辑了,没测试,用的fastjson解析json字符串,最里层的是要赋值的。
不过这样做感觉只能每层数组只有一个元素吧,多了会出现下面这样,无法都拿出来,根据具体需要改上面代码就行了。
"fruitInfo": [
{
"apple": "sweet",
"pineapple": "sour",

                },
                                     {
                    "apple": "sweet2",
                    "pineapple": "sour2",

                },
            ]

JSONObject jb1 = new JSONObject();
JSONObject jb2 = new JSONObject();
JSONObject jbOut = new JSONObject();
JSONObject jbRoot = new JSONObject();
JSONArray jaOut = new JSONArray();
JSONArray jaInner = new JSONArray();
jb1.put("apple","sweet");
jb2.put("apple","sweet2");
jaInner.add(jb1);
jaInner.add(jb2);
jbOut.put("type", "fruit");
jbOut.put("fruitInfo", jaInner);
jaOut.add(jbOut);
jbRoot.put("Rule", jaOut);
System.out.println(jbRoot);