java - 替换 JSONObject 中的 JSONObject

标签 java insert json

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;
}

你好,我想用 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);

关于java - 替换 JSONObject 中的 JSONObject,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28431862/

相关文章:

java - aws 为多个设备推送通知

java - Hashtable的超时机制

Python 中带字典的 MySQL 动态查询语句

javascript - d3js 在多个图表之间切换

javascript - 使用 mongodb 嵌入 Json 数据

java - 如何写出更优雅的代码? (阶乘、BigDecimals、除以 BigIntegers)

java - 在递归中使用方法时输出不正确。方法中的 return 语句在输出末尾返回一个整数

mysql - 插入 MySQL - IF t1.count(*) < t2.available

insert - 使用sed在特定位置插入字符

Python - 将所有 'available' 元素保存在 Json 中,并在所有搜索完成后打印它?