我的个人博客站点会有最新更新,首更地址:https://www.veaxen.com/golang自定json序列化实现对非ascii字符进行转义.html
问题
最近接手了一个Golang的项目,说实话,这个项目的坑点太多了,这里就不吐槽了。在改这个项目的一个bug时,发现导致这个bug的其中一个原因是Golang的json序列化与PHP的json序列化结果是不同的,这里举一个简单的例子。
对于PHP的json序列化:
$data = array(
"num"=>123456,
"key"=>"PHP是世界上最好用的语言"
);
$jsonStr = json_encode($data);
echo $jsonStr;
输出的结果是:
{
"num":123456,"key":"PHP\u662f\u4e16\u754c\u4e0a\u6700\u597d\u7528\u7684\u8bed\u8a00"<

本文探讨了Golang的JSON序列化与PHP的不同,PHP默认会转义Unicode字符,而Go则不会。为了解决这个问题,文章介绍了如何通过自定义Golang的JSON序列化过程,实现非ASCII字符的转义,以达到与PHP序列化结果一致的目的。文中给出了具体的实现代码,展示了自定义序列化的重要性。
最低0.47元/天 解锁文章
1781

被折叠的 条评论
为什么被折叠?



