如果所示,json数据内有回车,这时候用Gson解析是会出现错错误的
可以进行如下操作(其中content是完整的json数据)
- 转义回车
- 转义换行
- 其他如此类推
还有一个关键的地方,如果json的value值中有”“,也是会出现解析错误的,那么我们可以将”“转变为中文的双引号
将英文引号转为中文的引号方法
private static String jsonString(String s) {
char[] temp = s.toCharArray();
int n = temp.length;
for (int i = 0; i < n; i++) {
if (temp[i] == ':' && temp[i + 1] == '"') {
for (int j = i + 2; j < n; j++) {
if (temp[j] == '"') {
if (temp[j + 1] != ',' && temp[j + 1] != '}') {
temp[j] = '”';
} else if (temp[j + 1] == ',' || temp[j + 1] == '}') {
break;
}
}
}
}
}
return new String(temp);
}