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/帮助文档的阅读笔记。总结
以上是内存溢出为你收集整理的Cocos2dx引擎笔记——Cocos2d-x 3.0 Json用法全部内容,希望文章能够帮你解决Cocos2dx引擎笔记——Cocos2d-x 3.0 Json用法所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)