如果java中的json文件中还没有空的JsonObject节点,如何添加另一个空的JsonObject节点?

如果java中的json文件中还没有空的JsonObject节点,如何添加另一个空的JsonObject节点?,java,json,org.json,Java,Json,Org.json,我当前的JSON文件: { "dev": { "name": "James", "address": "12 VK Street", "city": "Austin" }, "test": { "name": "Roy&q

我当前的JSON文件:

{
    "dev": {
        "name": "James",
        "address": "12 VK Street",
        "city": "Austin"
    },
    "test": {
        "name": "Roy",
        "address": "15 VK Street",
        "city": "New York"
    }
}
我有另一个称为beta的环境。
需要检查当前JSON文件中是否存在beta节点。
如果当前JSON文件中存在测试版,则测试版正常,JSON文件中没有更改。
若beta节点不存在,那个么我需要为beta添加节点,并将JSON文件更新为以下内容

{
    "dev": {
        "name": "James",
        "address": "12 VK Street",
        "city": "Austin"
    },
    "test": {
        "name": "Roy",
        "address": "15 VK Street",
        "city": "New York"
    }
    "beta": {
    }
}
我尝试了以下代码,但没有成功。
检查JSON是否已经有所需的对象。如果没有,则创建一个新的

JSONObject main=新的JSONObject(jsonString);
如果(!main.has(“beta”)){
put(“beta”,新的JSONObject());
//main.put(“beta”,不起作用
//main.put(“beta”,“{}”);不起作用
}
如何在Java中实现这一点?我尝试使用Jackson,简单的JSON,但没有成功。谢谢

===========================

开始工作了

private void addReplaceValueInJson(String key, String value) throws Exception {
        File jsonFile = new File("testdata.json");
        String jsonString = FileUtils.readFileToString(jsonFile, Charset.defaultCharset());
        String env = System.getProperty(Constant.ENV);

        JsonElement mainElement = new JsonParser().parse(jsonString);
        JsonObject mainObject = mainElement.getAsJsonObject();

        // If env node is not present in json then create one
        if (!mainObject.has(env)) {
            JsonElement envElement = new JsonParser().parse(new JSONObject("{}").toString());
            mainObject.add(env, envElement);
        }

        try {
            mainObject.getAsJsonObject(env).addProperty(key, value);
            String resultingJson = new Gson().toJson(mainElement);
            FileUtils.writeStringToFile(jsonFile, resultingJson, Charset.defaultCharset());
        } catch (Exception e) {
            System.out.println("JSONObject: " + env + " missing in testdata.json. Please add " + env + " node.");
        }
    }
如果子jsonobject不存在,这将添加子jsonobject。
并更新密钥的值或添加新的值来代替整个文件flush n close

请粘贴代码您尝试了什么,出现了什么错误?我从来没有得到过适用于此的工作代码。所以没有任何错误要添加。对不起,这个网站不是用来寻找和完成代码分配的。您的问题需要比要求他人为您编写代码更具体