软件开发中使用JSON的注意点和坑

JSON是个让广大程序员又爱又恨的东西。爱“它”是因为相比其他数据协议格式,很大程度方便了人的阅读;恨“它”是因为在实际工程使用中,总是会或多或少遇到坑点。本文记录了我在使用JSON中踩过的坑,希望看到这篇文章的后人能够避坑~

Go语言中int64解析json的bug

Go语言在将int64进行JSON解析时,会出现几百或几千的小的偏移。解决方法时将int64转化成string表示。
比如,将

1
controller.Data["json"] = map[string]int64{"MomentId": MomentId}

改为

1
controller.Data["json"] = map[string]string{"MomentId": strconv.FormatInt(MomentId, 10)}

Java JSON框架的坑

主流的JSON框架有FastJson和Jackson,它们都有一个共同的问题。就是为了优化性能,默认会将getXXX方法看作是变量XXX的getter方法,在解析的时候就会调用这个getXXX方法。如果getXXX方法内部执行抛异常,或者方法内修改了某些值,那么就很可能产生许多难以排查的问题。

Android Studio 上手笔记 DNS欺骗攻击

评论

You forgot to set the shortname for Disqus. Please set it in _config.yml.
Your browser is out-of-date!

Update your browser to view this website correctly. Update my browser now

×