文档章节

lua 数据以table表的形式存储

80后小子
 80后小子
发布于 2015/03/05 10:50
字数 360
阅读 1456
收藏 2

  出处:http://blog.sina.com.cn/s/blog_991afe570101rkfh.html

  感谢,原文作者的无私奉献!

实现思路:

       table表 ------> 转为字符串(这里利用json库)------->存储--------->读取

达成目的:

  • 解决字符串拼接问题

  • 用最简单办法将table表存入文件,方便游戏存档、游戏关卡等等

  •  

第一步:将table表转为json格式的字符串

导入头文件

--2.2.5的quick版本已经在框架载入时完成了json模块的初始化,所以这里就不需要做导入头文件的操作 
--local json = require("framework.shared.json")


创建一个表格

 local t = {}               
 t.test = "OKOK"
 t.net = "okok"
 t.inner = {}
 t.inner.test = "OKOK8888"
 
 --主要使用以下两个方法进行实现
 local wirtjson =json.encode(t)--转换成json格式
 local readjson =json.decode(wirtjson)--转成原来存储前的格式

注意:以下这两个方法都可以获取到当前电脑上工程的根目录LUA学习笔记-----数据以table表的形式存储

1,device.writablePath  

2device.cachePath  

第二步:写入文件,进行存储并读取

 第一种方法:lua io 库     

把文件保存到当前工程根目录下:

local test = assert(io.open(device.writablePath .. "/formation.lua", "w"))
test:write(wirtjson)
test:close()

读取整个文件:

 local test = io.open(device.writablePath .. "/formation.lua", "r")
 local readjson= test:read("*a")
 local  table =json.decode(readjson)
 test:close()

 

第二种方法:CCUserDefault

把文件保存到当前工程根目录下:

CCUserDefault:sharedUserDefault():setStringForKey("SaveFightArray1", wirtjson)
CCUserDefault:sharedUserDefault():flush()

读取整个文件:

local ecord1 = CCUserDefault:sharedUserDefault():getStringForKey("SaveFightArray1")
local table =json.decode(record1)

本文转载自:http://blog.sina.com.cn/s/blog_991afe570101rkfh.html

共有 人打赏支持
80后小子
粉丝 5
博文 84
码字总数 23028
作品 0
海淀
程序员
私信 提问
Lua系列--pairs和ipairs

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/wwlcsdn000/article/details/81291756 Lua系列–pairs和ipairs Lua中Table的存储方式 在看二者的区别之前,我...

那远远的云端
2018/07/30
0
0
lua table引用问题

一,基础 1,在lua中,table只是传递引用(即两个变量都指向同一片内存空间),所以不能用简单的 "=" 来copy两个表,并试图修改一个表中的值。 tb = {}tb.a = 11tb.b = 22tb_ref = tbfuncti...

leejia1989
2017/07/07
0
0
Lua4.0 参考手册(一)1-3

说明: 这个文档是 doc 目录里的 manual.html 文件。 原文版权归原作者所有,这篇翻译只是作为学习之用。如果翻译有不当之处,请参考原文。 -------------------以下是正文-----------------...

晓寒
2014/10/30
0
0
Redis进阶实践之七Redis和Lua初步整合使用

Redis进阶实践之七Redis和Lua初步整合使用 一、引言 Redis学了一段时间了,基本的东西都没问题了。从今天开始讲写一些redis和lua脚本的相关的东西,lua这个脚本是一个好东西,可以运行在任何...

morpheusWB
2018/09/13
0
0
Openresty最佳案例 | 第2篇:Lua入门

转载请标明出处: http://blog.csdn.net/forezp/article/details/78616622 本文出自方志朋的博客 什么是lua Lua 是一种轻量小巧的脚本语言,用标准C语言编写并以源代码形式开放, 其设计目的...

forezp
2017/11/23
0
0

没有更多内容

加载失败,请刷新页面

加载更多

乱入Linux界的我是如何学习的

欢迎来到建哥学Linux,咳!咳!咳!开个玩笑哈,我是一个IT男,IT界的入门选手,正在学习Linux。 在之前,一直想进军IT界,学习IT技术,但是苦于没有人指导,也不知道学什么,最开始我自己在...

linuxprobe16
36分钟前
1
0
OSChina 周日乱弹 —— 没时间 没头发 但有钱

Osc乱弹歌单(2019)请戳(这里) 【今日歌曲】 @开源中国总经办主任 :分享齐一的单曲《这个年纪》 《这个年纪》- 齐一 手机党少年们想听歌,请使劲儿戳(这里) @肿肿卷 :我真的可以睡一天...

小小编辑
今天
45
4
Django进阶 1.1 ORM基础—ORM 1.2.1 增删改查之查询 1.2.2 删改增 (1) 1.2.3 删改增 (2)

ORM基础 ORM是Django操作数据库的API,Django的作者将sql语句封装在里面供我们使用。 我们前面还提到过Django提供一个模拟数据库的工具,sqlite,供我们学习测试使用。 如果我们想使用mysql...

隐匿的蚂蚁
今天
3
0
Windows 上安装 Scala

在安装 Scala 之前需要先安装 Java 环境,具体安装的详细方法就不在这里描述了。 您可以自行搜索我们网站中的内容获得其他网站的帮助来获得如何安装 Java 环境的方法。 接下来,我们可以从 ...

honeymose
今天
3
0
数据库篇多表操作

第1章 多表操作 实际开发中,一个项目通常需要很多张表才能完成。例如:一个商城项目就需要分类表(category)、商品表(products)、订单表(orders)等多张表。且这些表的数据之间存在一定的关系...

stars永恒
今天
4
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部