如何在java中替换json文件的值

时间:2013-10-31 11:15:27

标签: java

Hellooverflow成员,

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

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

  "id": "TEXT",

我想替换" TEXT"与" HELLO"

我如何做到这一点,我也有' json_simple'导入的库,如果它对此有用。

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

感谢。

4 个答案:

答案 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");