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

今天捣鼓一个短信备份还原的功能,用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();
	}
}

毕竟这个功能挺常用,所以我们最好把它封装成一个工具类。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值