使用GSON解析JSON对象并更新JSON文件(搜索和更新)

使用GSON解析JSON对象并更新JSON文件(搜索和更新),json,gson,jsonpath,Json,Gson,Jsonpath,下面是我的JSON对象 { "Germany": { "Languages": [ "German", "English", "Austrian German" ], "Continent": "unknown", "Capital": "Berlin" }, "China": { "Language": [

下面是我的JSON对象

{
    "Germany": {
        "Languages": [
            "German",
            "English",
            "Austrian German"
        ],
        "Continent": "unknown",
        "Capital": "Berlin"
    },
    "China": {
        "Language": [
            "Standard Mandarin",
            "Cantenese",
            "English"
        ],
        "Continent": "Asia",
        "Capital": "Shanghai"
    }
}
我试图实现的是搜索关键字[例如:德国](如果存在),然后将属性
大陆
未知
更新为
欧洲


我们如何使用GSON实现这一点?

以下是在满足条件(即输入JSON中的德国大陆“未知”)的情况下更新大陆的代码


[{“applicationId”:“email-id-1202”,“extRefNumber”:“targobank-ref-number2018-04-09T17:12:49.506”,“bankName”:“targobank”,“申请人”:[{“personId”:“1”,“文档”:[{“fileId”:“2”,“文档id”:“2”,“类型”:“税务文档”}]}],“数据”:{“firstName”:“First”,“lastName”:“Last”,“branchCode”:“branchCode”}]我需要更新类型值,尝试了上面的代码,但无法实现,请您提供帮助
public static void main(String[] args) {
    String json = "{\"Germany\": {\"Languages\": [\"German\",\"English\",\"Austrian German\"],\"Continent\": \"unknown\",\"Capital\": \"Berlin\" }, \"China\": {\"Language\": [\"Standard Mandarin\",\"Cantenese\",\"English\"],\"Continent\": \"Asia\",\"Capital\": \"Shanghai\" }}";
    Gson gson = new Gson();
    JsonElement countryJsonElement = gson.fromJson(json, JsonElement.class);
    JsonElement germanyJsonElement = countryJsonElement.getAsJsonObject().get("Germany");

    boolean updatedFlag = false;

    if (germanyJsonElement != null) {
        if (germanyJsonElement.getAsJsonObject().get("Continent").getAsString().equalsIgnoreCase("unknown")) {
            germanyJsonElement.getAsJsonObject().remove("Continent");
            germanyJsonElement.getAsJsonObject().addProperty("Continent", "Europe");
            updatedFlag = true;
        }
    }

    if (updatedFlag) {
        countryJsonElement.getAsJsonObject().remove("Germany");
        countryJsonElement.getAsJsonObject().add("Germany", germanyJsonElement);

        System.out.println("Germany continent updated....");
        System.out.println(countryJsonElement.toString());
    } else {
        System.out.println("Germany continent not updated....");
    }

}