`

json无法解析的字符

阅读更多
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();
	}
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics