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