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)
相關文章
相關標籤/搜索