json格式如何读取有特殊字符的数据!内详!
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了json格式如何读取有特殊字符的数据!内详!相关的知识,希望对你有一定的参考价值。
比如下面这一段代码: 无法用json读取这段代码
这个是做接口服务端的要在字值的值处理成json之前就应当做转义的动作,把字段里面的值 :冒号及反斜杠\\和,逗号统统加上\\: \\, \\" \\\\ 这样客户端才会正确,以下列出来XML等的格式传递,也会存在相同的问题String s = "a:b,c";
s.replace(":","\\:").replace(",","\\,");
java
message.replaceAll("<","<").replaceAll(">",">");
html:
& 变成 &
< 变成 <
> 变成 >
" 变成 "
pading:一般间隔10px
空格用 代替
参考技术A 请问代码在哪里? 参考技术B 使用JSON从后台向前台传输数据的时候,当数据本身含有一些特殊字符,会导致JSON数据的解析出错。使用下面的方法对即将向前台输出的json字符串进行处理,可以解决键盘上能输入的所有特殊字符问题。
//当文本中含有如下特殊字符时,此方法可以成功处理,让其在前台被正确解析,注意:此法不能处理单引号
public static String stringToJson(String s)
StringBuffer sb = new StringBuffer ();
for (int i=0; i<s.length(); i++)
char c = s.charAt(i);
switch (c)
case '\"':
sb.append("\\\"");
break;
// case '\\': //如果不处理单引号,可以释放此段代码,若结合下面的方法处理单引号就必须注释掉该段代码
// sb.append("\\\\");
// break;
case '/':
sb.append("\\/");
break;
case '\b': //退格
sb.append("\\b");
break;
case '\f': //走纸换页
sb.append("\\f");
break;
case '\n':
sb.append("\\n"); //换行
break;
case '\r': //回车
sb.append("\\r");
break;
case '\t': //横向跳格
sb.append("\\t");
break;
default:
sb.append(c);
return sb.toString();
//注意,下面的方法是在把你的数据文本接入json数据字符串之前使用,预先对文本做处理后在接入JSON字符串
//处理文本中的单引号 和 斜杠
public static String StringDanYinToJSON(String ors)
ors = ors == null ? "" : ors;
StringBuffer buffer = new StringBuffer(ors);
int i = 0;
while (i < buffer.length())
if (buffer.charAt(i) == '\'' || buffer.charAt(i) == '\\')
buffer.insert(i, '\\');
i += 2;
else
i++;
return buffer.toString();
参考技术C json字符串要求很严格的 特殊字符你加转义符\\ 试试 参考技术D 代码没贴出来
以上是关于json格式如何读取有特殊字符的数据!内详!的主要内容,如果未能解决你的问题,请参考以下文章