您的位置:首页 > Web前端 > JavaScript

JSON特殊字符的处理

2015-07-20 14:07 561 查看
JSon 数据中的String 传递数据时,需要处理好特殊字符.

JSon数据中有特殊字符:

1:引号 ,如果是使用单引号,来括值的话,那String 中  '  单引号为特殊字符

2:正斜杠,反斜杠,换行符号等。另外,必须用 (") 而非 (') 表示字符串: 

Java代码


 




/**  
     * JSON字符串特殊字符处理,比如:“\A1;1300”  
     * @param s  
     * @return String  
     */  
    public String string2Json(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字符串特殊字符处理,比如:“\A1;1300”
* @param s
* @return String
*/
public String string2Json(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();
}
  
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: