skynet早期版本有lua-cjson库,后来使用sproto取代了cjson,也直接将代码移除,但游戏中还是有json的需求。
lua5.3开始支持整形,但cjson并没有适配lua5.3, 如果直接编译使用会造成将json串中的数字转为浮点数。
所幸云风为cjson出一个补丁:https://github.com/mpx/lua-cjson/pull/22
当然如果感觉麻烦,还可以直接使用云风维护的一个分支:https://github.com/cloudwu/lua-cjson
这里以skynet中使用cjson为例,当前skynet中使用的是lua5.3.5,我们已经在ubuntu上安装了lua5.3.5,如果没有安装,则看我这篇教程:
ubuntu上安装Lua(源码安装方式,可指定版本)
下载这个cjson
git clone https://github.com/cloudwu/lua-cjsonCloning