-- lua对象的序列化与反序列化function serialize(obj)local str = ''local t = type(obj)if t == 'number' thenstr = str .. objelseif t == 'boolean' thenstr = str .. tostring(obj)elseif t == 'string' thenstr = str .. string.format('%q', obj)elseif t == 'table' thenstr = str .. '{'for k, v in pairs(obj) dostr = str .. '[' .. serialize(k) .. '] = ' .. serialize(v) .. ','endlocal metatable = getmetatable(obj)if metatable ~= nil and type(metatable.__index) == table thenfor k, v in pairs(metatable.__index) dostr = str .. '[' .. serialize(k) .. '] = ' .. serialize(v) .. ','endendstr = str .. '}'endreturn strendfunction deserialize(str)local t = type(str)if t == nil or t == '' thenreturn nilelseif t == 'number' or t == 'string' or t == 'boolean' thenstr = tostring(str)elseerror('Deserialize Fail')endstr = 'return ' .. strlocal func = load(str)if func == nil thenreturn nilendreturn func()end
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。