Невозможно сохранить изменения JSON - PullRequest
1 голос
/ 24 апреля 2019

Мой оригинальный JSON сохранен на диске: R:\Desktop\alamo\dd

{
    "Name": "ABC.com",
    "Developer": "Ram Kumar",
    "Project List": [
        "Compnay: National",
        "Compnay: Enterprise",
        "Compnay: Alamo"
    ]
}

Мой код для удаления определенного подузла: "Name"

public static void main(String[] args) throws IOException {
        String locationPath = "R:\\Desktop\\alamo\\dd";
        for (File locFile : new File(locationPath).listFiles()){
            ObjectMapper mapper = new ObjectMapper();
            ObjectNode obj = (ObjectNode) mapper.readTree(locFile);

            JsonNode tree1 = mapper.readTree(locFile); //Parse Specific JSON from Rental
            if(obj.has("Name")){
                obj.remove("Name");
                }
            System.out.println(obj);
            /* if(tree1.has("Name"))
            {
                ((ObjectNode) tree1).remove("Name");
            }*/
        }
    }

Вывод на консоль: {"Developer":"Ram Kumar","Project List":["Compnay: National","Compnay: Enterprise","Compnay: Alamo"]}

Вывод на консоль корректен в соответствии с модификацией, но когда я вижу мой файл json, он все еще имеет подузел Name. Как написать обратно ?? Спасибо

1 Ответ

2 голосов
/ 24 апреля 2019

Вам нужно просто запустить FileWriter, чтобы снова записать удаленную строку в файл.

// If this output prints correct value then write value
System.out.println(obj);

FileWriter fw = new FileWriter(locationPath);
fw.write(obj.toString());
fw.close();
...