Java替换\“;加上;一串

Java替换\“;加上;一串,java,string,replaceall,Java,String,Replaceall,我有一个JSON响应,其中所有双引号都用\分隔。因此,要将内容打印为JSON格式,我需要将\“替换为” 我正在使用Java的stringreplaceAll方法来实现这一点,但无法实现同样的效果 类似于下面的内容以获取替换\“with” 首先,您的json格式是错误的,由于地址和主要对象的原因,缺少两个} 此外,由于缺少转义,显示的java代码也是错误的。 以下代码将进行编译,并应执行您期望的操作: de/test/test.java package de.tests; public clas

我有一个JSON响应,其中所有双引号都用
\
分隔。因此,要将内容打印为JSON格式,我需要将
\“
替换为

我正在使用Java的string
replaceAll
方法来实现这一点,但无法实现同样的效果

类似于下面的内容以获取替换\“with”


首先,您的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("\\\\\"","\""));
   }
 }
这里重要的一点是常规的expressin转义,因为您有不同的层需要转义-第一层是java源代码本身,第二层是json字符串-因此您需要双重转义


有关正则表达式的更多信息,请阅读类似

的内容,不确定您是否已经知道这一点,但在打印字符串
name
时,不会打印斜杠。
name
中的反斜杠称为转义字符。它用于告诉JVM“好的,下面的引号不是字符串的结束引号。”修改了代码,您现在可以引用了吗。很抱歉造成混淆字符串只是一个语法错误您不能将字符串定义拆分为多行,除非您在每行末尾添加一个齿隙,您要使用下面的一行。也就是说,这里应该有一个反斜杠
name=“{\
和这里的
id:1、\
等等。
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("\\\\\"","\""));
   }
 }