关于Json数据结构的概念和内容这里不必过多讲解(网上资料很多),在我们很多项目中都使用Json来传递数据,以及作为Api 接口输入输出的参数,因为Json数据结构相对确实比较统一、清晰、简化,有助于减少和优化开发的处理代码,很多不同系统可能是用不同语言、不同框架写的,如果没有一个统一的数据结构,那么代码可能会千变万化,无法把握。如果有了Json统一的结构,那么我们去做统一的解析处理,统一的接口、实现方法允许不同。这样也便于对系统的整合和重构。那么我们来看看使用Json解析处理有哪些技巧吧。
这里,我们使用编程语言是php作为范例讲解。
- 1.解析Json消除转义符处理。
在php中是函数stripslashes(),可以对json字符串中包含的转义符去掉处理。
范例代码:
$str='{"name":"aa","age":20}';
echo json_encode($str);
上述直接解析json,我们看到的结果如图:
我们看到其中包含了很多转义符“\ “,我们再看下使用stripslashes函数处理过的结果。
$str='{"name":"aa","age":20}';
echo stripslashes(json_encode($str));
我们看到已经去掉了转义符,这样更加清晰了。
- 2.包含中文字符的处理
Json中包含中文,我们要做解析处理转换才能看到正常的中文,我们看范例代码。
$str='{"name":"中国","性别":"男"}';
echo stripslashes(json_encode($str));
返回的结果如图
我们看到的是中文乱码,其实是unicode字符编码。我们使用转换方法做处理,如下
$str='{"name":"中国","性别":"男"}';
echo stripslashes(json_encode($str,JSON_UNESCAPED_UNICODE));
结果如下图
这样, 我们增加的一个参数JSON_UNESCAPED_UNICODE,这样就处理了中文转换的问题。
- 3.解析Json,验证错误
我们根据Json数据结构的规范,排查Json可能的错误,然后进行修正处理。
推荐一个在线解析Json,验证错误的网站,网址:https://www.json.cn/,我们可以把json字符串放在这里,解析会自动检查验证,指出可能错误的地方,方便我们排查自己的程序。
可能还有更多,更好的工具来辅助我们做解析验证的工作。
本文持续改进完善,不断总结优化...