欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

json无法解析的字符

程序员文章站 2022-07-07 16:59:24
...
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();
	}
相关标签: json 非法字符