你好 stackoverflow 的成员,
我需要一些帮助来替换 json 文件中的一行。我尝试使用与替换文本文件中的一行相同的方法,但没有成功。
基本上 json 文件包含以下字符串:
"id": "TEXT",
我想用“HELLO”替换“TEXT”
我将如何做到这一点,如果这对此有任何用处,我还导入了“json_simple”库。
对此的任何帮助将不胜感激。
谢谢。
你好 stackoverflow 的成员,
我需要一些帮助来替换 json 文件中的一行。我尝试使用与替换文本文件中的一行相同的方法,但没有成功。
基本上 json 文件包含以下字符串:
"id": "TEXT",
我想用“HELLO”替换“TEXT”
我将如何做到这一点,如果这对此有任何用处,我还导入了“json_simple”库。
对此的任何帮助将不胜感激。
谢谢。
您不能这样替换值。因此,您需要将其从 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
无需像有人建议的那样使用 JSON 解析器,您只需使用 regex 即可:
str = str.replaceAll("(\\s*?\"id\"\\s*?:\\s*?)\"TEXT\",", "$1\"HELLO\"");
如果“TEXT”字符串是您替换的唯一占位符,您可以简单地使用字符串替换方法,这样:
str.replace("\"TEXT\"", "\"HELLO\"");
尝试这个
> "id": {
> "type": "String",
> "value": "TEXT" ...
>
> JSONObject modifiedjson=new JSONObject();
> modifiedjson.put("type",childobject.get("type"));
> modifiedjson.put("id","HELLO");