Cocos2dx引擎笔记——Cocos2d-x 3.0 Json用法

Cocos2dx引擎笔记——Cocos2d-x 3.0 Json用法,第1张

概述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解析jso 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/帮助文档的阅读笔记。
总结

以上是内存溢出为你收集整理的Cocos2dx引擎笔记——Cocos2d-x 3.0 Json用法全部内容,希望文章能够帮你解决Cocos2dx引擎笔记——Cocos2d-x 3.0 Json用法所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1070792.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-26
下一篇 2022-05-26

发表评论

登录后才能评论

评论列表(0条)

保存