Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/193.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 在android中替换JSON响应字符串中的字符串_Java_Android_Json_String - Fatal编程技术网

Java 在android中替换JSON响应字符串中的字符串

Java 在android中替换JSON响应字符串中的字符串,java,android,json,string,Java,Android,Json,String,字符串替换不起作用 String jsonresponseString ="�� ÿ0{"sid":"QtRm47A_2COfPAO-AANH","upgrades":["websocket"],"pingInterval":25000,"pingTimeout":60000}" 我尝试了这段代码 String responseString1 = jsonresponseString.replace("�� ÿ0", ""); 我想要这样的输出 {"sid":"v3h9kTn3woDQE

字符串替换不起作用

String jsonresponseString ="��  ÿ0{"sid":"QtRm47A_2COfPAO-AANH","upgrades":["websocket"],"pingInterval":25000,"pingTimeout":60000}"

我尝试了这段代码

String responseString1 = jsonresponseString.replace("�� ÿ0", "");

我想要这样的输出

{"sid":"v3h9kTn3woDQEijKAANS","upgrades":["websocket"],"pingInterval":25000,"pingTimeout":60000}
一线

String responseString =  �� ÿ0{"sid":"v3h9kTn3woDQEijKAANS","upgrades":["websocket"],"pingInterval":25000,"pingTimeout":60000}
不是有效的java代码。您是否从某个程序的输出中复制粘贴了它?应该是这样的

String responseString =  "{\"sid\":\"v3h9kTn3woDQEijKAANS\", ...}"
我建议您仔细检查什么生成了
响应字符串

请尝试以下代码:

String printjson(String str) {
    // \{\s*\".*\}$|^\[\n?\{\s*\".*\}\n?\]$~s
    Pattern rulePattern = Pattern.compile("\\{\\s*\\\".*\\}$|^\\[\\n?\\{\\s*\\\".*\\}\\n?\\]$~s");
    Matcher a = rulePattern.matcher(str);
    if (a.find()) {
        str = a.group();
    }
    return str;
}


System.out.println(printJson("��  ÿ0{"sid":"QtRm47A_2COfPAO-AANH","upgrades":["websocket"],"pingInterval":25000,"pingTimeout":60000}")

你收到这个
��\t\u0007ÿ0
仅在启动时启动?
字符串jsonresponseString=”��  ÿ0{“sid”:“QtRm47A_2COfPAO-AANH”,“升级”:[“websocket”],“pingInterval”:25000,“pingTimeout”:60000}”
这不是字符串,但这是我从JsonResponseNo得到的,你不会得到这样的东西。因为引号必须转义才能成为有效字符串。请确定第一个引号符号后的符号的utf8编码是什么,并用以下方式替换它们:newString=responseString.replaceAll(“\uFFFD”,”);,其中\uFFFD是要清除的字符的可能utf8代码的一个示例。