Json转换报错Cannot serialise, excessive nesting

本文记录了在游戏开发中遇到的LUA表转换为Json格式时出现的'Cannot serialise,excessivenesting(1001)'错误。问题源于非连续的LUA表结构,解决方案包括将表转换为连续或使用类似C#的dictionary类型。在后续处理中,发现错误源于服务器返回的proto协议数据导致的非连续表结构,通过重新构建表并转换解决了问题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

LUA表转Json格式错误的记录

问题情况

在游戏中我需要记录一些玩家的状态需要存到服务器去,所以需要将一些状态保存为字符串存起来,但是当我将table存储时发现会报错,报错为Cannot serialise, excessive nesting (1001),经过查找资料寻找解决,记录一下。

原因

研究我的Table发现,我的表是一个不连续的表,导致在编码Json时不能正常读取,所以需要将表改为连续的或者修改为类似C#的dictionary类型,就可以。

扩展内容

我在后面的过程中增加的表的内容,发现又有同样的报错,检查发现原来是服务器发过来的数据存储导致的,我们使用的proto协议,但是在底层已经重写了table的内容,我以为我收到的表结构是连续的,但是实际上这个表不是一个连续的表,我就自己重新写一个表去复制内容,再转Json就好了,特此记录。

评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值