Cocos2dx引擎笔记——Cocos2d-x 3.0 Json用法
来源:互联网 发布:mac视网膜壁纸 编辑:程序博客网 时间:2024/06/04 20:14
Cocos2d-x 3.0 加入了rapidjson库用于json解析。位于external/json下。
rapidjson 项目地址:http://code.google.com/p/rapidjson/wiki:http://code.google.com/p/rapidjson/wiki/UserGuide
下面就通过实例代码讲解rapidjson的用法。
使用rapidjson解析json串
引入头文件
#include "json/rapidjson.h"#include "json/document.h"
json解析
std::string str = "{\"hello\" : \"word\"}";CCLOG("%s\n", str.c_str());rapidjson::Document d;d.Parse<0>(str.c_str());if (d.HasParseError()) //打印解析错误{ CCLOG("GetParseError %s\n",d.GetParseError());}if (d.IsObject() && d.HasMember("hello")) { CCLOG("%s\n", d["hello"].GetString());//打印获取hello的值}
打印结果
cocos2d: {"hello" : "word"}cocos2d: word
注意:只支持标准的json格式,一些非标准的json格式不支持。一些常用的解析方法需要自己封装。注意判断解析节点是否存在。
使用rapidjson生成json串
引入头文件
#include "json/document.h"#include "json/writer.h"#include "json/stringbuffer.h"using namespace rapidjson;
生成json串
rapidjson::Document document;document.SetObject();rapidjson::Document::AllocatorType& allocator = document.GetAllocator();rapidjson::Value array(rapidjson::kArrayType);rapidjson::Value object(rapidjson::kObjectType);object.AddMember("int", 1, allocator);object.AddMember("double", 1.0, allocator);object.AddMember("bool", true, allocator);object.AddMember("hello", "你好", allocator);array.PushBack(object, allocator);document.AddMember("json", "json string", allocator);document.AddMember("array", array, allocator);StringBuffer buffer;rapidjson::Writer<StringBuffer> writer(buffer);document.Accept(writer);CCLOG("%s",buffer.GetString());
打印结果
cocos2d: {"json":"json string","array":[{"int":1,"double":1,"bool":true,"hello":"你好"}]}
声明:本文是对http://www.cocos.com/帮助文档的阅读笔记。
0 0
- Cocos2dx引擎笔记——Cocos2d-x 3.0 Json用法
- Cocos2dx引擎笔记——Cocos2d-x xml解析
- cocos2d-x 3.0 Json 用法
- Cocos2d-x 3.0 Json用法
- Cocos2dx引擎笔记——SQLite集成与用法
- cocos2dx概要及开发技术—认识cocos2d-x游戏引擎
- 【官方文档】Cocos2d-x 3.0 Json用法
- [cocos2d-x] HOWTO-integrate json in cocos2dx
- 【COCOS2D-X(1.X 2.X) Json(cpp版)及新加字体库篇】在Cocos2dx引擎中封装、解析Json(cpp版)数据以及添加自定义字体库
- 【COCOS2D-X(1.X 2.X) Json(cpp版)及新加字体库篇】在Cocos2dx引擎中封装、解析Json(cpp版)数据以及添加自定义字体库 .
- cocos2dx 3.x 物理引擎学习笔记
- Cocos2dx引擎笔记——内存优化
- Cocos2dx引擎笔记——HttpClient session
- Cocos2dx引擎笔记——综述
- Cocos2dx引擎笔记——数据结构
- cocos2dx之音效引擎 ------------------------cocos2d-x 3.0正式版本(7.14)
- [cocos2dx]基于Cocos2d-x引擎的游戏框架设计
- cocos2dx-Skill cocos2d-x 3.10 架构和引擎目录
- 腾讯-拥抱变化
- hadoop中slot简介(map slot 和 reduce slot)
- 面试题3:二维数组中的查找
- NumPy教程(转)
- IOS开发指南学习——数据持久化(Core Data)
- Cocos2dx引擎笔记——Cocos2d-x 3.0 Json用法
- Ruby中调用windows shell的方法
- JSP/Servlet-----JSTL之I18N formatting标签库
- apache ab 输出结果详细解析(源码分析) http://my.oschina.net/lubia/blog/177186
- 单臂路由的缺点
- OSX10.11 (EI Capitan)下挂载NTFS外接盘(免费方法)
- Android高效加载大图、多图解决方案
- url应用
- 今天终于有了自己的博客