Cocos2d-x 3.0 Json用法
来源:互联网 发布:淘宝被套 编辑:程序博客网 时间:2024/05/29 12:43
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串
引入头文件
12#include "json/rapidjson.h"
#include "json/document.h"
json解析
12345678910111213std::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的值
}
打印结果
123cocos2d: {
"hello"
:
"word"
}
cocos2d: word
注意:只支持标准的json格式,一些非标准的json格式不支持。
一些常用的解析方法需要自己封装。注意判断解析节点是否存在。
使用rapidjson生成json串
引入头文件
1234#include "json/document.h"
#include "json/writer.h"
#include "json/stringbuffer.h"
using
namespace
rapidjson;
生成json串
12345678910111213141516171819rapidjson::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());
打印结果
1cocos2d: {
"json"
:
"json string"
,
"array"
:[{
"int"
:1,
"double"
:1,
"bool"
:
true
,
"hello"
:
"你好"
}]}
0 0
- cocos2d-x 3.0 Json 用法
- Cocos2d-x 3.0 Json用法
- 【官方文档】Cocos2d-x 3.0 Json用法
- Cocos2dx引擎笔记——Cocos2d-x 3.0 Json用法
- cocos2d-x Json解析
- cocos2d-x读取json
- Cocos2d-x Json读写
- cocos2d-x 3.0触摸机制的用法
- cocos2d-x schedule用法
- Cocos2d-x schedule用法
- cocos2d-x jsonCpp 读取json
- quick-cocos2d-x解析json
- cocos2d-x json解析 jsonBox
- cocos2d-x中使用json
- cocos2d-x json解析 jsonBox
- cocos2d-x中使用json
- cocos2d-x json解析 jsonBox
- cocos2d-x lua json解析
- 拿来主义:java中socket和serversocket 的用法
- 关于Lua中的一点小总结(主要针对的是C调用Lua)
- 传智播客C语言笔记一:C语言课程概述
- html转pdf空格丢失问题解决方案
- sigaction函数解析
- Cocos2d-x 3.0 Json用法
- iOS对象属性详解
- JDK安装和环境配置
- hadoop2.5.2中执行 $ bin/hdfs dfs -put etc/hadoop input遇到put: `input': No such file or directory的解决办法
- Json文件 使用rapidjson获取Json数据
- springMVC 注解实现实例 springMVC+ajax
- 【POJ1509】Glass Beads 最小表示法
- 学习Unity3D之列的基本操作、约束和ArrayList类。
- 浅析错排问题