Hellooverflow成员,
我需要一些帮助来替换json文件中的一行。我尝试使用相同的方法来替换文本文件中的一行但没有成功。
基本上json文件包含以下字符串:
"id": "TEXT",
我想替换" TEXT"与" HELLO"
我如何做到这一点,我也有' json_simple'导入的库,如果它对此有用。
对此的任何帮助将不胜感激。
感谢。
答案 0 :(得分:4)
您无法替换此类值。因此,您需要将其从json中删除并重新添加。
JSONObject js = new JSONObject(); // Your jsonobject here, this is just a sample
js.remove("id"); // Since you want to replace the value associated with id, remove it
js.put("id", "HELLO"); // add the new value for id
答案 1 :(得分:2)
使用replaceAll不是一个好选择,特别是如果给定值包含双引号作为值。检查Update elements in a JSONObject - 应该有帮助
答案 2 :(得分:1)
如果没有像某人建议的那样使用JSON解析器,您只需使用正则表达式即可:
str = str.replaceAll("(\\s*?\"id\"\\s*?:\\s*?)\"TEXT\",", "$1\"HELLO\"");
如果“TEXT”字符串是替换的唯一占位符,则可以通过以下方式使用字符串replace方法:
str.replace("\"TEXT\"", "\"HELLO\"");
答案 3 :(得分:0)
试试这个
> "id": {
> "type": "String",
> "value": "TEXT" ...
>
> JSONObject modifiedjson=new JSONObject();
> modifiedjson.put("type",childobject.get("type"));
> modifiedjson.put("id","HELLO");