lua-cjson导致的table顺序不一致问题
lua-cjson导致的table顺序不一致问题
- 一,问题样例
- 二,Lua Table原理分析
- 三,样例分析
- 四,解决方案
- 1,方案1
- 2,方案2
- 3,性能对比
lua-cjson 是一个简单小巧的开源库,可被 lua 脚本 require 加载。在 Lua 中通过一系列的 lua-cjson API 调用完成 Lua 值与 Json 值的相互转换(编码及解码)。
在lua-cjson的使用中发现一个问题:经过cjson.encode编码后,string顺序不一致,这导致在计算md5的时候,两个string的结果也不一样。
本文主要以从项目中抽离出来的样例为基础,深入解析lua-table的插入流程,最终提出合适的方案解决lua-cjson导致的table顺序不一致问题。
一,问题样例
以下面这个table数据为例:
--对象类型
local lua_object
还没有评论,来说两句吧...