将表格转换为字符串,然后再转回表格

我想知道如何将表格转换为字符串,然后再转回表格。

我想使用 sockets 模块发送一个表格,但我必须通过一个字符串来实现它。

我想这样做:

a = { 1, 2, 3 } -- 创建表格
b = tostring(a) -- 将表格转换为字符串
c = totable(b) -- 将字符串转换回表格
点赞
用户6020403
用户6020403

正如其他人所说,你无法轻松地序列化全部内容,但你可以序列化很多东西。对于这种 IPC,JSON是当前的“通用语言”,我强烈推荐使用它,特别是因为你可以相对安全地与许多其他语言交换。

Lua有几个实现,但是尤其要注意这个,因为它运行良好、相当稳定,并且在Github上有很好的维护活动。示例代码:

json = require("json")
encoded = json.encode(someVar)
decoded = json.decode(someStr)
2016-09-28 00:54:16
用户6892231
用户6892231

有很多现成的 Lua 库可以实现这个功能。 查看http://lua-users.org/wiki/TableSerialization 表格序列化函数非常直观,自己编写是一个很好的学习练习。

PS. 刚刚检查了一下... Love2D API 已经包含了一个表格序列化库。

2016-09-28 07:40:11