如何更新json文件中的值并替换文件本身中的值?我已经尝试了以下方式,它替换了值,但我无法在json文件中看到更新的值。提前谢谢。
final FileInputStream in = new FileInputStream(System.getProperty("user.dir") + "/" + PATH);
final ObjectMapper mapper = new ObjectMapper();
final JsonNode tmp = mapper.readTree(in);
//replacing the value
ObjectNode.class.cast(tmp).get("url").get(0).get("path").toString().replace(DEFAULT_ENDPOINT,configuration.getApiEndPoint());
//write to the file
byte[] contentAsByte = tmp.toString().getBytes();
final FileOutputStream out = new FileOutputStream(System.getProperty("user.dir") + "/" + PATH);
out.write(contentAsByte);
out.flush();
out.close();
in.close();`
答案 0 :(得分:0)
您使用的.replace()方法是来自String的方法,而不是来自JsonNode。
使用它来更改JsonNode:
// replacing the value
ObjectNode obj = ObjectNode.class.cast(tmp.get("url").get(0));
obj.set("path", new TextNode("newValue"));