Lua利用cjson讀寫json示例分享
我這里采用的是Lua CJson庫,是一個高性能的JSON解析器和編碼器,其性能比純Lua庫要高10~20倍。并且Lua Json完全支持UTF-8,無需以來其他非Lua/LuaJit相關(guān)包。
環(huán)境安裝
這里就不詳細寫了,隨便問下谷歌就有一大堆答案。
示例代碼
解析JSON
local cjson = require "cjson"
local sampleJson = [[{"age":"23","testArray":{"array":[8,9,11,14,25]},"Himi":"himigame.com"}]];
--解析json字符串
local data = cjson.decode(sampleJson);
--打印json字符串中的age字段
print(data["age"]);
--打印數(shù)組中的第一個值(lua默認是從0開始計數(shù))
print(data["testArray"]["array"][1]);
編碼JSON
local cjson = require "cjson"
local retTable = {}; --最終產(chǎn)生json的表
--順序數(shù)值
local intDatas = {};
intDatas[1] = 100;
intDatas[2] = "100";
--數(shù)組
local aryDatas = {};
aryDatas[1] = {};
aryDatas[1]["鍵11"] = "值11";
aryDatas[1]["鍵12"] = "值12";
aryDatas[2] = {};
aryDatas[2]["鍵21"] = "值21";
aryDatas[2]["鍵22"] = "值22";
--對Table賦值
retTable["鍵1"] = "值1";
retTable[2] = 123;
retTable["int_datas"] = intDatas;
retTable["aryDatas"] = aryDatas;
--將表數(shù)據(jù)編碼成json字符串
local jsonStr = cjson.encode(retTable);
print(jsonStr);
--結(jié)果是:{"int_datas":[100,"100"],"2":123,"鍵1":"值1","aryDatas":[{"鍵12":"值12","鍵11":"值11"},{"鍵21":"值21","鍵22":"值22"}]}
寫在最后
以上只是對于cjson庫的簡單應(yīng)用示例,如有任何問題請及時給我留言。
相關(guān)文章
Ruby類實例變量、類實例方法和類變量、類方法的區(qū)別
這篇文章主要介紹了Ruby類實例變量、類實例方法和類變量、類方法的區(qū)別,本文探討一下他們的定義和基本的使用場景,需要的朋友可以參考下2015-04-04Lua中使用元表(metatable)執(zhí)行算術(shù)類元方法實例
這篇文章主要介紹了Lua中使用元表(metatable)執(zhí)行算術(shù)類元方法實例,本文給出了加法、減法、乘法、除法、相反數(shù)、取模等內(nèi)容,需要的朋友可以參考下2014-09-09Lua面向?qū)ο缶幊讨A(chǔ)結(jié)構(gòu)table簡例
今天小編就為大家分享一篇關(guān)于Lua面向?qū)ο缶幊讨A(chǔ)結(jié)構(gòu)table簡例,小編覺得內(nèi)容挺不錯的,現(xiàn)在分享給大家,具有很好的參考價值,需要的朋友一起跟隨小編來看看吧2018-10-10Lua教程(七):數(shù)據(jù)結(jié)構(gòu)詳解
這篇文章主要介紹了Lua教程(七):數(shù)據(jù)結(jié)構(gòu)詳解,本文講解了數(shù)組、二維數(shù)組、鏈表、隊列與雙向隊列、 集合和包(Bag)、StringBuilder等內(nèi)容,需要的朋友可以參考下2015-04-04使用nginx+lua實現(xiàn)信息訪問量統(tǒng)計
這篇文章主要介紹了使用nginx+lua實現(xiàn)信息訪問量統(tǒng)計,功能很簡單,代碼也很簡潔,有需要的小伙伴可以參考下,然后自由擴展。2015-03-03Lua中讓回調(diào)函數(shù)支持回調(diào)對象方法的解決方法
這篇文章主要介紹了Lua中讓回調(diào)支持對象方法,一般情況下,Lua中只支持回調(diào)一個函數(shù),本文方法實現(xiàn)可以回調(diào)一個對象的方法,需要的朋友可以參考下2014-12-12Lua中實現(xiàn)php的strpos()以及strrpos()函數(shù)
這篇文章主要介紹了在Lua中實現(xiàn)php的strpos()以及strrpos()函數(shù)的方法,需要的朋友可以參考下2014-11-11