• lua 对表的简单序列化与反序列化


    参考文档:http://blog.csdn.net/xiaodan007/article/details/7096718

    function sz_T2S(_t)
        local szRet = "{"
        function doT2S(_i, _v)
            if "number" == type(_i) then
                szRet = szRet .. "[" .. _i .. "] = "
                if "number" == type(_v) then
                    szRet = szRet .. _v .. ","
                elseif "string" == type(_v) then
                    szRet = szRet .. '"' .. _v .. '"' .. ","
                elseif "table" == type(_v) then
                    szRet = szRet .. sz_T2S(_v) .. ","
                else
                    szRet = szRet .. "nil,"
                end
            elseif "string" == type(_i) then
                szRet = szRet .. '["' .. _i .. '"] = '
                if "number" == type(_v) then
                    szRet = szRet .. _v .. ","
                elseif "string" == type(_v) then
                    szRet = szRet .. '"' .. _v .. '"' .. ","
                elseif "table" == type(_v) then
                    szRet = szRet .. sz_T2S(_v) .. ","
                else
                    szRet = szRet .. "nil,"
                end
            end
        end
        table.foreach(_t, doT2S)
        szRet = szRet .. "}"
        return szRet
    end
    
    function unsz_S2T(str)
        str = "return " .. str;
        local fun = loadstring(str);
        return fun();
    end
    
    local tt = {}
    tt[1] = "aa";
    tt.name = "halldd";
    tt.tt = {};
    tt.tt[3] = "bb";
    print (tt[1]);
    
    local ss = sz_T2S(tt);
    local ttv = unsz_S2T(ss);
    print (tt.name, tt.tt[3]);
  • 相关阅读:
    Android培训准备资料之Android开发环境的搭建
    第二十天
    第十九天
    第十八天
    第十七天
    第十六天
    第十四天
    第十三天
    十二天
    十一天
  • 原文地址:https://www.cnblogs.com/emyueguang/p/3716765.html
Copyright © 2020-2023  润新知