lua-protobuf icon indicating copy to clipboard operation
lua-protobuf copied to clipboard

通过cjson序列化pb.decode中空数组的问题

Open doudouliyougangbeng opened this issue 3 years ago • 3 comments

由于lua中没有数组概念,pb.decode会把空数组当成空table,当cjson进行decode时就会序列化为{}。 现在cjson支持cjson.decode_array_with_array_mt(true)即当setmetatable({}, array_mt)时就会序列化[]。 我现在的做法为,递归所有属性,找到"repeated"的空table,进行设置 image 这种感觉非常不友好而且严重影响性能,有没有从pb方面就能很好的解决问题的方法呢?

doudouliyougangbeng avatar May 21 '22 08:05 doudouliyougangbeng

可以讨论下看看有什么比较好的方案

starwing avatar May 25 '22 13:05 starwing

[] {} 都设置成 nil

bugwang avatar Jul 19 '23 08:07 bugwang

可以考虑pb.defaults("*array", array_mt)

starwing avatar Jul 19 '23 12:07 starwing