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[] = "aa";
tt.name = "halldd";
tt.tt = {};
tt.tt[] = "bb";
print (tt[]); local ss = sz_T2S(tt);
local ttv = unsz_S2T(ss);
print (tt.name, tt.tt[]);
lua 对表的简单序列化与反序列化的更多相关文章
- java简单序列化和反序列化
一.序列流 1.什么是序列流 序列流可以把多个字节输入流整合成一个, 从序列流中读取数据时, 将从被整合的第一个流开始读, 读完一个之后继续读第二个, 以此类推. 2.使用方式 整合两个: Seque ...
- C#序列化与反序列化方式简单总结
序列化和反序列化 相关类: System.SerializableAttribute特性(或称为属性), System.Runtime.Serialization.ISerializable(自定义序 ...
- 利用php的序列化和反序列化来做简单的数据本地存储
利用php的序列化和反序列化来做简单的数据本地存储 如下程序可以做为一个工具类 /** * 利用php的序列化和反序列化来做简单的数据本地存储 */ class objectdb { private ...
- 高性能的序列化与反序列化:kryo的简单使用
前言:kryo是个高效的java序列化/反序列化库,目前Twitter.yahoo.Apache.strom等等在使用该技术,比如Apache的spark.hive等大数据领域用的较多. 为什么使用k ...
- 我写了一个简单的JSON序列化和反序列化的工具
背景 互联网上有许多可用的Json序列化和反序列化的工具,例如fastjson,jackson,Gson等等,那么,我为什么还要自己写一个? 项目不方便依赖其他第三方库.比如有时候我们编写SDK,考虑 ...
- 序列化和反序列化为什么要实现Serializable接口?(史上最全、简单易懂)
目录结 前言 1.什么是序列化和反序列化 2.什么时候需要进行序列化和反序列化 2.1.服务器和浏览器交互时用到了Serializable接口吗? 2.2.Mybatis将数据持久化到数据库中用到了S ...
- 【Java面试】简单说一下你对序列化和反序列化的理解
Hi,大家好,我是Mic 一个工作4年的粉丝,投了很多简历 好不容易接到一个互联网公司的面试邀约. 在面试第一轮就被干掉了,原因是对主流互联网技术理解太浅了. 其中就有一个这样的问题:"简单 ...
- Json.Net学习(1) 实现简单的序列化和反序列化
Attributes 可以用来控制Json.Net如何序列化和反序列化.Net对象. >JsonObjectAttribute--标记在类上,用于控制该类如何被序列化为一个Json对象(JSON ...
- 简单Json序列化和反序列化
序列化是什么: 序列化就是将一个对象的状态(各个属性量)保存起来,然后在适当的时候再获得.序列化分为两大部分:序列化和反序列化.序列化是这个过程的第一部分,将数据分解成字节流,以便存储在文件中或在网络 ...
随机推荐
- PCL滤波介绍(3)
(1)从一个点云中提取索引 如何使用一个,基于某一分割算法提取点云中的一个子集. 代码解析 #include <iostream> #include <pcl/ModelCoeffi ...
- MFC函数——CWnd::OnCreate
CWnd::OnCreate afx_msg int OnCreate( LPCREATESTRUCT lpCreateStruct ); 返回值: OnCreate必须返回0以继续CWnd对象的创建 ...
- native-base中icon不能正确显示[转]
初次接触native-base,在使用它的Icon组件的时候碰到了一个问题:图标没能正确显示!(在expo调试模式下是正常的) native-base官网给的使用Icon的例子 怎么找到适合我的图标呢 ...
- 摄像头驱动OV7725学习笔记连载(二):0V7725 SCCB时序的实现之寄存器配置
上一篇博客主要介绍了OV7725的电气特性以及SCCB接口的时序和输出一帧图像的时序图以及数据的拼接.输出一帧图像与输出时钟PCLK有关. 上图是OV7725实现的整体框架,有点丑.FPGA描述SCC ...
- clapack在android上移植
参考 https://www.cnblogs.com/hrlnw/p/4128217.html 如何在android上进行android库编译 https://blog.csdn.net/h3c4le ...
- win10 + linux 制作双系统教程(我本身是win10系统)
1.制作启动U盘 准备工作: .linux镜像 .硬盘空余空间>8G,越大越好 .制作启动U盘的软件 .最好3.0U盘一个>4G 下载启动软件的工具(UItraIOS制作的U盘启动盘无法安 ...
- ITSM运营实施案例 - 汽车行业
M公司是在汽车行业知名TOP企业,在日常运营过程中有如下问题: ******************************************************************** ...
- (笔记)Linux下的CGI和BOA使用期间遇到的问题汇总
前段时间在做C/S模式下的视频监控,这段时间是B/S模式下的.期间遇到了不少问题,有些问题一卡就是几天,有些问题的解决办法在办法在网上也不是很好找,所以还有些问题虽然得到了临时解决,但是其原理现在我本 ...
- android wifi RSSI达到阈值自动断开
设置wifi的RSSI达到阈值之后自动断开. wifi状态改变,会更新状态栏,在状态栏中更改. --- a/packages/SystemUI/src/com/android/systemui/sta ...
- SpringBoot系列一:SpringBoot的产生
声明:本文来源于MLDN培训视频的课堂笔记,写在这里只是为了方便查阅. 长期以来 Java 的开发一直让人所诟病: ·Java 项目开发复杂度极其高: · Java 项目的维护非常困难: · 在云时代 ...