出處: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)--轉成原來存儲前的格式
注意:如下這兩個方法均可以獲取到當前電腦上工程的根目錄
1,device.writablePath
2,device.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)