zoukankan      html  css  js  c++  java
  • 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]);
  • 相关阅读:
    第一阶段冲刺——4
    Day 1 测试流程--H模型
    【疑问】待解决
    Zookeeper 入门(一)
    【基础组件1】Flume入门(一)
    埋点测试、埋点接口测试
    单点登录 VS 多点登录
    web系统原理
    测试用例总结篇(一)
    功能测试心得(二)
  • 原文地址:https://www.cnblogs.com/emyueguang/p/3716765.html
Copyright © 2011-2022 走看看