lua 数据以table表的形式存储

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

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

实现思路:框架

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

达成目的:ui

  • 解决字符串拼接问题lua

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

  •  

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

导入头文件code

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


建立一个表格orm

 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)
相关文章
相关标签/搜索