[英]Java replace \" with " in a string
我有一個 JSON 響應,其中所有雙引號都用\\
分隔。 因此,要將內容打印為 JSON 格式,我需要將\\"
替換為"
。
我正在使用 Java 的 string replaceAll
方法來執行此操作,但無法實現相同的效果。
類似於下面的東西來替換 \\" 為 "
String name ="{
id: 1,
name: "Leanne Graham",
username: "Bret",
email: "Sincere@april.biz",
address: {
street: "Kulas Light",
suite: "Apt. 556",
city: "Gwenborough",
zipcode: "92998-3874",
geo: {
lat: \"-37.3159\",
lng: \"81.1496\"
}";
name.replaceAll("\"",""");
一開始你的json格式不對,少了兩個},因為地址和主要對象。
由於缺少轉義,您顯示的 java 代碼也是錯誤的。 下面的代碼將編譯並且應該做你期望的:
de/test/Test.java
package de.tests;
public class Test
{
public static void main(final String[] args)
{
final String name = "{id: 1, name: \"Leanne Graham\", username: \"Bret\", email: \"Sincere@april.biz\", address: { street: \"Kulas Light\", suite: \"Apt. 556\", city: \"Gwenborough\", zipcode: \"92998-3874\", geo: {lat: \\\"-37.3159\\\", lng: \\\"81.1496\\\"}}}";
// System.out.println(name);
System.out.println(name.replaceAll("\\\\\"","\""));
}
}
這里的重點是正則表達式轉義,因為您有不同的層需要轉義 - 第一個是 java 源代碼本身,第二個是 json 字符串 - 所以你需要雙重轉義。
有關正則表達式的更多信息,請閱讀諸如掌握正則表達式之類的內容
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.