3

你好 stackoverflow 的成员,

我需要一些帮助来替换 json 文件中的一行。我尝试使用与替换文本文件中的一行相同的方法,但没有成功。

基本上 json 文件包含以下字符串:

  "id": "TEXT",

我想用“HELLO”替换“TEXT”

我将如何做到这一点,如果这对此有任何用处,我还导入了“json_simple”库。

对此的任何帮助将不胜感激。

谢谢。

4

3 回答 3

6

您不能这样替换值。因此,您需要将其从 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
于 2013-10-31T11:26:55.930 回答
1

无需像有人建议的那样使用 JSON 解析器,您只需使用 regex 即可:

str = str.replaceAll("(\\s*?\"id\"\\s*?:\\s*?)\"TEXT\",", "$1\"HELLO\"");

如果“TEXT”字符串是您替换的唯一占位符,您可以简单地使用字符串替换方法,这样:

str.replace("\"TEXT\"", "\"HELLO\"");
于 2013-10-31T11:32:32.160 回答
0

尝试这个

>     "id": {
>         "type": "String",
>         "value": "TEXT" ...
> 
> JSONObject modifiedjson=new JSONObject();
> modifiedjson.put("type",childobject.get("type"));
> modifiedjson.put("id","HELLO");
于 2013-10-31T11:31:08.473 回答