本站文章均为李华明Himi原创,转载务必在明显处注明:(作者新浪微博:@李华明Himi)
转载自【黑米GameDev街区】原文链接:http://www.himigame.com/lua1/1337.html
点击订阅 本博客最新动态!及时将最新博文通知您!
本篇介绍如何在lua中对数据进行Json的encode与decode,这里Himi采用cJson进行。首先简单介绍下cJson:
Lua CJsON 是 Lua 语言提供高性能的 JsON 解析器和编码器,其性能比纯 Lua 库要高 10 到 20 倍。Lua CJsON 完全支持 UTF-8 ,无需依赖其他非 Lua/LuaJIT 的相关包。
文档链接:http://www.kyne.com.au/~mark/software/lua-cjson-manual.html
下面我们来详细介绍如何搭建cJson在lua的使用环境:
第一步:下载cJson包 cJson.zip:
cJson.zip: http://vdisk.weibo.com/s/xQ-P6
第二步:将下载的cJson.zip解压并加入我们的项目中,如下图:
650) this.width=650;" width="308" height="152" alt="QQ20130416-1" src="http://img.jb51.cc/vcimg/static/loading.png" src="http://www.himigame.com/wp-content/uploads/2013/04/QQ20130416-1.png">
第三步:加载我们的cJson
打开项目的AppDelegate.cpp ,
(1)首先导入 #include “lua_extensions.h”
(2)在此类的applicationDIDFinishLaunching函数中,在ccluaStack 实例获取到之后进行添加如下代码:
1 2 3 | ccluaStack *pStack = pEngine->getLuaStack();
lua_State* L = pStack->getLuaState(); luaopen_lua_extensions(L); |
如下图所示:
650) this.wIDth=650;" wIDth="590" height="331" alt="QQ20130416-2" src="http://img.jb51.cc/vcimg/static/loading.png" src="http://www.himigame.com/wp-content/uploads/2013/04/QQ20130416-2.png">
OK,完成如上几步,我们就可以在lua中使用cJson啦!下面介绍通过lua cJson对数据进行Json的转换:
对数据进行encode与decode *** 作:
3 4 5 6 7 8 9 10 11 12 13 14 15 | - - 简单数据 - local tab = {} tab["Himi" ] = "himigame.com" 数据转Json local cJson = require "cJson" local JsonData cJson.encode(tab) print (JsonData) - 打印结果: { : "himigame.com" } Json转数据 local data cJson.decode(JsonData) (data.Himi) 打印结果: himigame.com |
稍微复杂一些的数据:
15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 | ----带数组的复杂数据----- local _JsonArray={} _JsonArray[1]=8 _JsonArray[2]=9 _JsonArray[3]=11 _JsonArray[4]=14 _JsonArray[5]=25 local _arrayFlagKey={} _arrayFlagKey[ "array" ]=_JsonArray local tab = {} tab["Himi" ]= "himigame.com" "testArray"]=_arrayFlagKey "age""23" --数据转Json local cJson = require "cJson" local JsonData = cJson.encode(tab) print(JsonData) -- 打印结果: {: "23" , :{ :[8,9,11,14,25]},monospace;Font-size:1em;vertical-align:baseline;float:none;background-image:none;">"himigame.com" } --Json转数据 local data = cJson.decode(JsonData) local a = data.age local b = data.testArray.array[2] local c = data.Himi print("a:" ..a.. " b:" ..b.. " c:" ..c) -- 打印结果: a:23 b:9 c:himigame.com |
以上是内存溢出为你收集整理的【cocos2dx】在Lua中使用CJSON库进行Json数据转化全部内容,希望文章能够帮你解决【cocos2dx】在Lua中使用CJSON库进行Json数据转化所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)