json无法解析的字符

from: http://blog.csdn.net/jeryjeryjery/article/details/69455292

json中有一些字符是无法解析的,需要实现对这些类型的字符进行转义处理才能够被json解析,参见rfc6724第7。这些字符包括单引号,双引号,正斜杠,反斜杠,以及换行符,制表符等。我们在向前台传输这种类型的数据的时候,要事先先对这些类型数据进行转义处理。下面给出的java代码就是事先对含有那些特殊字符进行转义处理:

/*
* 处理转义字符问题,防止json数据混乱,导致flexgrid显示不出来
* params:
* str:需要处理的字符串
* return:
* res:处理后的字符
*/
public static String toGoodJsonStr(String str){
StringBuffer res=new StringBuffer();

for (int i=0; i<str.length(); i++) {            
char c = str.charAt(i);       
switch (c) {       
case '\"':       
res.append("\\\"");       
break;       
case '\\':       
res.append("\\\\");       
break;       
case '/':       
res.append("\\/");       
break;       
case '\b':       
res.append("\\b");       
break;       
case '\f':       
res.append("\\f");       
break;       
case '\n':       
res.append("\\n");       
break;       
case '\r':       
res.append("\\r");       
break;       
   case '\t':       
      res.append("\\t");       
      break; 
   case '\'':
    res.append("\\\'");
    break;
      default:       
      res.append(c);       
}
}
return res.toString();
}

猜你喜欢

转载自blog.csdn.net/zuihoudebingwen/article/details/78972366