你好,我想用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");,但它不起作用。
发布于 2019-09-26 18:47:52
尝试:
jsonObj.getAsJsonObject("").remove("MYID");这种方法需要一个字符串参数。首先尝试打印或调试jsonObject (jsonObect.toString())。这应该是一个具有另一个内部映射的映射,并查看此类对象的结构,以删除您感兴趣的部分。
发布于 2019-09-26 18:57:27
我用下面的代码成功地删除了元素:
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 - 1.1.1
输出
{
"MYID": {
"task": "aufgabe",
"user": "name",
"status": "true"
},
"MYID2": {
"task": "aufgabe2",
"user": "name2",
"status": "false"
}
}https://stackoverflow.com/questions/58115055
复制相似问题