Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/396.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 在本例中,如何从表单中删除JSONObject_Java_Json - Fatal编程技术网

Java 在本例中,如何从表单中删除JSONObject

Java 在本例中,如何从表单中删除JSONObject,java,json,Java,Json,我正在使用org.JSON动态创建一个JSON 这是我目前得到的输出 { "item": { "T1": [ { "name": "101", "T2": { "leaf": [ { "jsonkey": "jsonval"

我正在使用org.JSON动态创建一个JSON

这是我目前得到的输出

{
    "item": {
        "T1": [
            {
                "name": "101",
                "T2": {
                    "leaf": [
                        {
                            "jsonkey": "jsonval"
                        }
                    ]
                }
            }
        ]
    }
}
我需要以这种格式输出

(删除了额外的T2 JSONObject)

这是我的全部计划

   public static void main(String[] args) throws JSONException {
        Map<String,LinkedList<JSONObject>> vendorOrdersMap = new LinkedHashMap<String,LinkedList<JSONObject>>();
        JSONObject jsonobj = new JSONObject();
        jsonobj.put("jsonkey", "jsonval");
        LinkedList<JSONObject> listjson = new LinkedList<JSONObject>();
        listjson.add(jsonobj);
        vendorOrdersMap.put("101", listjson);
        JSONObject sai = new JSONObject();
        JSONArray T1Array = new JSONArray();
        for (Map.Entry<String, LinkedList<JSONObject>> entry : vendorOrdersMap.entrySet())
        {
            String key = entry.getKey();
            LinkedList<JSONObject> t1ChildList = entry.getValue();
            JSONArray jsonarray = new JSONArray();
            for(JSONObject t2ColumnData : t1ChildList)
            {
                jsonarray.put(t2ColumnData);
                JSONObject lemon = new JSONObject().put("leaf", jsonarray);
                JSONObject soft = new JSONObject().put("name", key).put("T2", lemon);
                T1Array.put(soft);
            }
            JSONObject softDrink = new JSONObject().put("T1", T1Array);
            sai.put("item", softDrink);
        }
        System.out.println(sai);
    }

我无法附加数据。

如果将-for的最内层
循环更改为

jsonarray.put(t2ColumnData);
JSONObject soft = new JSONObject().put("name", key).put("leaf", jsonarray);
T1Array.put(soft);

因为您希望保留
名称
部分,而只将
T2
部分替换为其子部分。

这正是我所需要的,非常感谢,我之前一直在努力解决这个问题。
JSONObject soft = new JSONObject().put("name", key).put("T2", lemon);
jsonarray.put(t2ColumnData);
JSONObject soft = new JSONObject().put("name", key).put("leaf", jsonarray);
T1Array.put(soft);