您好成員的stackoverflow,如何在java中替換json文件的值
我需要一些幫助,以替換json文件中的一行。我試圖用同樣的方法替換文本文件中的一行,但沒有成功。
基本上JSON文件包含以下字符串:
"id": "TEXT",
,我想用「HELLO」,以取代「TEXT」
我會怎麼做,我也有「json_simple」導入庫,如果這對此有任何用處。
任何幫助,這將不勝感激。
謝謝。
您好成員的stackoverflow,如何在java中替換json文件的值
我需要一些幫助,以替換json文件中的一行。我試圖用同樣的方法替換文本文件中的一行,但沒有成功。
基本上JSON文件包含以下字符串:
"id": "TEXT",
,我想用「HELLO」,以取代「TEXT」
我會怎麼做,我也有「json_simple」導入庫,如果這對此有任何用處。
任何幫助,這將不勝感激。
謝謝。
,不使用JSON解析器有人建議,你可以簡單地用一個正則表達式做到這一點:
str = str.replaceAll("(\\s*?\"id\"\\s*?:\\s*?)\"TEXT\",", "$1\"HELLO\"");
如果 「TEXT」 字符串是一個獨特的您可以簡單地使用字符串replace方法,以這種方式:
str.replace("\"TEXT\"", "\"HELLO\"");
Thankyou,這就是我需要:) – user2826304
如果json文件包含「someval」:「\」id \「:\」TEXT \「,」? Regexps不適合以任何方式解析json。正則表達式根本無法理解它在哪個上下文中。 – Oroboros102
您不能像這樣替換值。因此,您需要將其從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
試試這個
> "id": {
> "type": "String",
> "value": "TEXT" ...
>
> JSONObject modifiedjson=new JSONObject();
> modifiedjson.put("type",childobject.get("type"));
> modifiedjson.put("id","HELLO");
使用replaceAll不是好選擇,特別是如果給定的值包含雙引號作爲值。檢查Update elements in a JSONObject - 應該有幫助
什麼是您使用的「相同的方法」? JSON文件**是**文本文件,因此該方法(可能是某種版本的'String.replace')仍然可以工作! –
請顯示完整的JSON文件和您的一些代碼,以瞭解您正在做什麼。 –