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代码的一个示例。