替换 JSONObject 中的 JSONObject
Replace JSONObject in JSONObject
private JSONObject insertJSONintoJSON(JSONObject newJSON, JSONObject parent)
{
Object[] a = parent.values().toArray();
JSONObject jsonObject2 = (JSONObject) a[1];
Object[] b = jsonObject2.values().toArray();
JSONObject folders = (JSONObject) b[2];
Object[] c = folders.values().toArray();
JSONArray folderss = (JSONArray) c[2];
for (Object objc : folderss)
{
JSONObject tmp = (JSONObject) objc;
Object[] d = tmp.values().toArray();
String name = (String) d[4];
if (name.toUpperCase().equals("EXCHANGE"))
{
tmp = newJSON;
return parent;
}
}
return parent;
}
嗨,我想 return 带有 new Value(newJSON)
的父项,但父项中没有它,tmp
不会更改值。
好吧,您可以尝试将其作为字符串处理,然后将新对象简单地插入到父对象中。
private static JSONObject insertObj(JSONObject parent, JSONObject child){
String parentStr = parent.toString();
parentStr = parentStr.substring(1);//remove the opening curly bracket {
String childStr = child.toString();
childStr = childStr.substring(0, (childStr.length()-1));
parentStr = childStr+","+parentStr;
JSONObject resultObj = new JSONObject(parentStr);
return resultObj;
}
这仅在您在添加子对象之前已经在父对象中至少有 1 个键的情况下才有效(因为我们要添加逗号),但您可以注意
用一个简单的 IF
编辑:
实际上更好的方法是
JSONObject parent = new JSONObject();
JSONObject child = new JSONObject();
parent.put("object name",child);
private JSONObject insertJSONintoJSON(JSONObject newJSON, JSONObject parent)
{
Object[] a = parent.values().toArray();
JSONObject jsonObject2 = (JSONObject) a[1];
Object[] b = jsonObject2.values().toArray();
JSONObject folders = (JSONObject) b[2];
Object[] c = folders.values().toArray();
JSONArray folderss = (JSONArray) c[2];
for (Object objc : folderss)
{
JSONObject tmp = (JSONObject) objc;
Object[] d = tmp.values().toArray();
String name = (String) d[4];
if (name.toUpperCase().equals("EXCHANGE"))
{
tmp = newJSON;
return parent;
}
}
return parent;
}
嗨,我想 return 带有 new Value(newJSON)
的父项,但父项中没有它,tmp
不会更改值。
好吧,您可以尝试将其作为字符串处理,然后将新对象简单地插入到父对象中。
private static JSONObject insertObj(JSONObject parent, JSONObject child){
String parentStr = parent.toString();
parentStr = parentStr.substring(1);//remove the opening curly bracket {
String childStr = child.toString();
childStr = childStr.substring(0, (childStr.length()-1));
parentStr = childStr+","+parentStr;
JSONObject resultObj = new JSONObject(parentStr);
return resultObj;
}
这仅在您在添加子对象之前已经在父对象中至少有 1 个键的情况下才有效(因为我们要添加逗号),但您可以注意 用一个简单的 IF
编辑: 实际上更好的方法是
JSONObject parent = new JSONObject();
JSONObject child = new JSONObject();
parent.put("object name",child);