六,cocos2d-lua中json数据交换格式

cocos2d-x技术群新群:117871561
c++技术交流群:593010226

这里不死抠cocos-lua组件的原理, 重在快速上手使用, 只针对快速开发,所以我尽量用简洁 易懂的 文笔去阐述。

在一个公司里能运用手上的知识 快速的完成一个功能才是最好的,也可已根据自己的能力和时间 去选择是不是要深入的了解这些组件及功能。毕竟还是需要下班充电的。

当然我的文章 也会根据我对cocos2d-lua的了解程度 不断更新,完善,希望对你有用

综述:JSON(javaScript Object Notation)轻量级数据交换格式

优点:传输速度快,传输流量少

结构:
1,对象

对象是一个“名称-值”对的集合 以{开始  以 }结束 每个名称后跟:  每个“名称-值”后用逗号隔开  如下:

  {string:value,string:value}

示例:
{
“name”:“hanmeimei”,
"age":23,
"isgirl":true
}

2,数组

数组是值得有序集合 跟c,c++数组类似,数组的元素可以是string,number,object,array ,true,false,null

[value,value,......]

示例:
["lilei",true,null,6]

JSON解码
cocos2d-x lua封装了 JSON4Lua库 所以可以直接拿来用

解码函数json.decode(jsonObj)

--创建一个JSON对象
local jsonStr = {"name":"hanmeimei","age":23}
--解码对象
lcoal jsonObj =json.decode(jsonStr)
cclog("name%s:",jsonObj["name"])
cclog("age%d:",ojsonObj["age"])
 

--创建一个数组
local jsonStr = 
[
 {"name":"hanmeimei","age":23}
 {"name":"lile","age":25}
]
--解码数组
local jsonArray = json.decode(jsonStr)
for i = 1, table.getn(jsonArray) do
  local obj = jsonArray[i]
  cclog("name%s:",obj["name"])
  cclog("age%d:",obj["age"])
end

JSON编码

将JSON对象或数组转变为JSON字符串解析,以便于存储和网络中数据传输
编码函数json.encode(jsonObj)

编码对象
local jsonObj= {"name":"hanmeimei","age":23}
cclog("jsonObj:%s",json.encode(jsonObj)) 

编码数组
local jsonArray= 
[
 {"name":"hanmeimei","age":23}
 {"name":"lile","age":25}
]
cclog("jsonArray:%s",json.encode(jsonArray))

推荐阅读更多精彩内容

  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 127,731评论 18 546
  • 序章 这是一个关于狼人杀的故事。 上帝创造了世界,觉得万物只有低智商生物太过乏味,于是创造了高智商生物——人类。 ...
    正反有李油阅读 19评论 0 1
  • 这是我读的第一本三岛由纪夫的作品。最初是在他人口中知道了这个名字,而后翻阅网络资料,发现他的作品常被用暴力,血腥形...
    15陈林阅读 78评论 0 0
  • 有人说,一个人最痛苦的地方,就是因为想得太多而做的太少。面对纷繁复杂的利益诱惑,每个人内心的躁动,都不可避免的疯长...
    艽原阅读 168评论 2 4
  • Mac 终端命令大全 目录操作 命令名功能描述使用举例 mkdir创建一个目录mkdir dirname rmdi...
    菜鸟2014阅读 318评论 0 7