簡體   English   中英

Java 將字符串中的 \\" 替換為 "

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM