文档章节

lua 数据以table表的形式存储

80后小子
 80后小子
发布于 2015/03/05 10:50
字数 360
阅读 1295
收藏 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后小子
粉丝 4
博文 84
码字总数 23028
作品 0
海淀
程序员
Lua4.0 参考手册(一)1-3

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

晓寒
2014/10/30
0
0
lua table引用问题

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

leejia1989
2017/07/07
0
0
Redis进阶实践之七Redis和Lua初步整合使用

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

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

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

forezp
2017/11/23
0
0
Excel导出为Lua table工具 - XlsxToLua

Excel表格数据导出为Lua table形式的工具,兼带数据检查功能 希望这个工具能为今后ulua手机游戏项目带来便利,使得策划可以用Excel进行配表,从而享受Excel各种强大的功能,而程序可以直接读...

zhangqi91
2016/03/30
2.2K
0

没有更多内容

加载失败,请刷新页面

加载更多

驰狼课堂

http://www.chilangedu.com/

求是科技
13分钟前
0
0
jumpserver 报错"Incorrect string value

申明 本文所有内容参考自jumpserver记录命令无法入库问题 #1773 简介 jumpserver 1.4.0在jumpserver.log中大量报错,错误日志 File "/opt/jumpserver/apps/terminal/api.py", line 246, i...

zhnxin
19分钟前
2
0
用户管理相关配置文件及命令

9月19日任务 2.27linux和windows互传文件 3.1 用户配置文件和密码配置文件 3.2 用户组管理 3.3 用户管理 扩展知识 实用小工具 简单命令行下实现Linux/Windows文件互传 前提:使用远程工具Xsh...

robertt15
37分钟前
0
0
presto 架构

presto 介绍 是Facebook开源的,完全基于内存的并⾏计算,分布式SQL交互式查询引擎 是一种Massively parallel processing (MPP)架构,多个节点管道式执⾏ ⽀持任意数据源(通过扩展式Connect...

张欢19933
37分钟前
0
0
Ajax技术应用

1. 相关概述 1. ajax:即异步js与xml,可以实现客户端与服务端之间数据的异步交互。对于普通的B/S 模式是采用的同步方式,即一次请求必须等待一次服务器响应完成,而异步则是客户端发送请求后...

江左煤郎
38分钟前
2
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部