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

用JSON备份还原短信时特殊字符的处理

2016-06-10 22:46 260 查看
今天捣鼓一个短信备份还原的功能,用json格式来做。但是由于短信都是各式各样的字符组成。所以要是里面有和json一样的格式特殊字符的时候,就会出错导致恢复不了。

就想下面那样:



要是body那一部分,也就是我们短信的内容里面包含着json的特殊字符即(" , [ ] { }),的时候就会导致短信恢复的时候解析出错。



虽然其实发生这种事情的概率挺低的,但是只要存在着一个符号就会导致这个功能的崩溃,所以要针对这种情况处理一下。

其中有一个挺讨巧的办法就是,利用英文标点符号与中文标点符号的相似但是ascii值不同来处理这个问题。

譬如说,英文字符 ( ,)  与中文字符 (,) 

具体实现主要代码如下:

public class JsonStrTools {
/**
* @param json
* json的字符串
* @return
* 把json特殊字符做了转换处理
*/
public static String changeStr(String json){
json = json.replaceAll(",", ",");
json = json.replaceAll(":", ":");
json = json.replaceAll("\\[", "【");
json = json.replaceAll("\\]", "】");
json = json.replaceAll("\\{", "<");
json = json.replaceAll("\\}", ">");
json = json.replaceAll("\"", "”");

return json.toString();
}
}
毕竟这个功能挺常用,所以我们最好把它封装成一个工具类。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: