как обновить массив json в java с помощью существующего значения массива json с помощью java. Значения не обновляются во внешнем файле json

#java #json

Вопрос:

Файл JSON: [
{
«имя»:»Джон», «город»:»Берлин», «работа»:»Учитель» }, {
«имя»:»Марк», «город»:»Осло», «работа»:»Доктор» } ]

Синтаксический анализатор JsonParser = новый синтаксический анализатор json(); JSONArray a = (JSONArray) синтаксический анализатор.разбор(новый файловый редактор(«F:file.json»));

     for (Object o : a) {
        JSONObject person = (JSONObject) o;

        String name = (String) person.get("name");
        
        if (name.equalsIgnoreCase("john")) {
            String name1 = (String) person.get("name");
            System.out.println("name1"   name1);

            String city1 = (String) person.get("city");
            System.out.println("city1"   city1);

            String job1 = (String) person.get("job");
            System.out.println("job1"   job1);  
            
            person.put("city", "BLR");
            String city2 = (String) person.get("city");
            System.out.println("city2"   city2);
        }
    }
 

Значения не обновляются во внешнем файле Json

Комментарии:

1. Сохраните файл json, чтобы он обновился, вы просто изменили значение объекта, которого нет в локальном файле

Ответ №1:

JSONObject-это представление json, которое не ссылается на исходный файл. Чтобы переписать файл, вам нужно изменить значения person и записать его в файл.

 person.put("city", "BLR");
String jsonString = person.toString();
// write jsonString to file