Cocos2d-X与游戏开发cocos2d-xcocos2d-Lua

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

2017-11-08  本文已影响10人  亮亮同学

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))
上一篇下一篇

猜你喜欢

热点阅读