java - 使用 json-simple (JAVA) 删除 JSON 文件的部分

标签 java

您好,我想使用 JSON-Simple 删除 Java 中 JSON 文件的一部分。

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"); 但它不起作用。

最佳答案

我使用以下代码成功删除了元素:

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-简单 json-简单 1.1.1

输出:

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

关于java - 使用 json-simple (JAVA) 删除 JSON 文件的部分,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58115055/

相关文章:

java - 从java调用批处理需要从当前批处理文件夹启动

java - jquery datatables-一个数据表中的最大列数

java - 如何在 Unix 上获取 Java 中所有已安装文件系统的列表?

java - 为什么这段代码会抛出 java.lang.StackOverflowError

Java - 从对象属性获取方法

java - 获取MultipartFile上传文件数量

java - Gradle : Could not find org. codehaus.groovy :groovy:1. 0.0

java - 使用使用 WHERE 子句选择的数据加载 JCombobox

java - 计算文本文件

java - 有没有一种简单的、仅 NIO2 的方法可以将 URL 转换为 Path