lua-cjson导致的table顺序不一致问题

悠悠 2022-09-12 01:44 506阅读 0赞

lua-cjson导致的table顺序不一致问题

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

一,问题样例

以下面这个table数据为例:

  1. --对象类型
  2. local lua_object

发表评论

表情:
评论列表 (有 0 条评论,506人围观)

还没有评论,来说两句吧...

相关阅读