Удалить раздел файла JSON с помощью json-simple (JAVA) - PullRequest
0 голосов
/ 26 сентября 2019

Здравствуйте! Я хочу удалить раздел файла JSON в Java с помощью JSON-Simple.

Файл JSON

{
        "MYID": {
            "user": "name",
            "task": "aufgabe",
            "status": "true"
        },
        "MYID2": {
            "user": "name2",
            "task": "aufgabe2",
            "status": "false"
        },
        "MYID3": {
            "user": "name3",
            "task": "aufgabe3",
            "status": "true"
        }
}

Я хочу удалить полный раздел "MYID".Я уже пробовал jsonObject.remove("MYID");, но это не сработало.

Ответы [ 2 ]

0 голосов
/ 26 сентября 2019

Я успешно удалил элемент с этим кодом:

import org.json.simple.JSONObject;
import org.json.simple.JSONValue;

class SimpleJson {
    public static void main(String[] args) throws IOException {
        JSONObject jObject = (JSONObject) JSONValue.parse(json);
        jObject.remove("MYID3");
        System.out.println(jObject);
        try (FileWriter writer = new FileWriter(new File("/path/result2.json"))) {
            jObject.writeJSONString(writer);
        }

        // java 11 
        // Files.writeString(Path.of("/path/dir1", "result.json"), jObject.toJSONString());
    }
    ...
}

Зависимость: com.googlecode.json-simple json-simple 1.1.1

Вывод :

{
  "MYID": {
    "task": "aufgabe",
    "user": "name",
    "status": "true"
  },
  "MYID2": {
    "task": "aufgabe2",
    "user": "name2",
    "status": "false"
  }
}
0 голосов
/ 26 сентября 2019

Попробуйте:

jsonObj.getAsJsonObject("").remove("MYID");

Этот подход требует аргумента String.Сначала попробуйте распечатать jsonObject (jsonObect.toString()) или отладить его.Это должна быть Карта с другой внутренней Картой, и вы увидите структуру такого объекта, чтобы удалить интересующую вас часть.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...