博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

Cocos2d-x中使用JSON

Posted on 2013-11-01 14:25  哇啦哇啦嘿  阅读(770)  评论(0)    收藏  举报

引用头文件

1 #include "cocos-ext.h"
2 
3 USING_NS_CC;
4 
5 USING_NS_CC_EXT;

 

JSON数据如下:

{"id":123456,"name":"testname","content":{"login":"good","time":"1234"}}

 

解析JSON数据

 1 char* jsondata = "{\"id\":123456,\"name\":\"testname\",\"content\":{\"login\":\"good\",\"time\":\"1234\"}}";
 2 
 3  
 4 
 5 CSJson::Reader reader;
 6 CSJson::Value value;
 7 
 8 
 9 if(reader.parse(jsondata, value))
10 {
11   char const* out = value["name"].asCString();
12   CCLog("%s", out);
13 
14   CSJson::Value obj = value["content"];
15   char const* out2 = obj["time"].asCString();
16   CCLog("%s", out2);
17 }

 

生成JSON数据

 1 CSJson::Value root;
 2 CSJson::Value arrayObj;
 3 CSJson::Value item;
 4 
 5
 6 
 7 item["data1"] = "json";
 8 item["data2"] = "java";
 9 arrayObj.append(item);
10 
11  
12 
13 root["name"] = "test";
14 root["content"] = arrayObj;
15 
16 std:string out3 = root.toStyledString();
17 
18 CCLog("%s", root.toStyledString().c_str());

 

注意:取值时应根据json数据类型使用相应方法,如数值型使用asInt() ,不能直接使用asString,其他类型一样。。。