cocos2d-x 3.0 Json 用法
来源:互联网 发布:java数据结构视频教程 编辑:程序博客网 时间:2024/06/10 17:55
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解析
- Oracle基础知识
- linux内核中结构体struct module
- poi操作word(一)
- HDU1796-How many integers can you find
- KMP算法 KMP模式匹配 一(串)
- cocos2d-x 3.0 Json 用法
- HDU 1495——非常可乐( BFS )
- Ubuntu11.10使用TFTP协议传输文件到TQ210开发板学习笔记-1
- 用DNSCrypt解决DNS污染造成的Dropbox无法连接问题
- UIButton图片拉伸
- android 获取CPU序列号
- mac os安装xcode遇到的问题
- poi操作word(二)
- 我的编程之路(十九) 开发中一些细节与启发