Cocos2d-x3.8.1解析Json文件
来源:互联网 发布:启动oracle数据库命令 编辑:程序博客网 时间:2024/05/21 18:13
//C++中有二十多种json解析库,根据各方面效率的对比,本文以rapidjson对json文件进行解析操作
//加入头文件以及命名空间
#include "cocos2d/external/json/allocators.h"
#include "cocos2d/external/json/document.h"
#include "cocos2d/external/json/stringbuffer.h"
#include "cocos2d/external/json/writer.h"
USING_NS_CC;
//rapidjson增,删,改,查操作
bool HelloWorld::init()
{
//////////////////////////////
// 1. super init first
if ( !Layer::init() )
{
return false;
}
rapidjson::Document doc;
char name[32]="{\"name\":\"LiuJunLiang\"}";//转义
//解析字符串
doc.Parse<0>(name);
if (doc.HasParseError())//解析错误
{
log("parse error");
}
else//解析正确
{
log("parse true");
if (doc.HasMember("name")&&doc.IsObject())
{
//根据key获取value
rapidjson::Value& value=doc["name"];
if (value.IsString())
{
log("%s",value.GetString());
}
//设置value为int
value.SetInt(0);
if (value.IsInt())
{
log("%d",value.GetInt());
}
}
//添加数据
//获取分配器
rapidjson::Document::AllocatorType& allocator=doc.GetAllocator();
//添加int
doc.AddMember("year",19,allocator);
//添加string
doc.AddMember("cell","12345678910",allocator);
//添加null空对象
rapidjson::Value nullObj(rapidjson::kNullType);
doc.AddMember("null",nullObj,allocator);
//添加对象
rapidjson::Value birthday(rapidjson::kObjectType);
birthday.AddMember("year",1996,allocator);
birthday.AddMember("month",12,allocator);
birthday.AddMember("day",12,allocator);
doc.AddMember("birthday",birthday,allocator);
//添加数组
rapidjson::Value array(rapidjson::kArrayType);
array.PushBack(1,allocator);
array.PushBack("hellococos2d-x",allocator);
doc.AddMember("array",array,allocator);
//获取json全部内容
rapidjson::StringBuffer buffer;
rapidjson::Writer<rapidjson::StringBuffer> writer(buffer);
doc.Accept(writer);
log("json:%s",buffer.GetString());
}
return true;
}
- Cocos2d-x3.8.1解析Json文件
- Cocos2d-x3.0 Json解析
- Cocos2d-x3.0 Json解析
- Cocos2d-x3.8.1加载csb文件
- cocos2d-x3.0 XML解析
- Cocos2d-x3.0 文件处理
- cocos2d-x 3.2 Json文件解析
- quick cocos2d-x lua解析json文件
- cocos2d-x解析json文件(C++)
- Cocos2d-x3.1生成Json串
- cocos2d-x3.2 Socket传输Json字符串
- cocos2d-x3.4json动画删除问题
- cocos2d-x3.0 Xcod下错误解析
- cocos2d-x3.10 使用tinyxml2在Android配合FileUtilsAndroid解析XML文件
- cocos2d-x3.10 使用tinyxml2在Android配合FileUtilsAndroid解析XML文件
- Discuz X3核心文件解析
- Cocos2d-x 深入解析系列 : 以XML文件方式保存用户数据--------------cocos2d-x3.0正式版本(7.13)
- cocos2d-x3.0 用CCDictionary写文件
- 影视的制作
- HUD 5074 Hatsune Miku
- 最近win10无数人更新失败,这里是解决方案
- 【OpenCV 初级】第一篇 OpenCV介绍与配置
- Eclipse搭建stm32开发环境+jlink调试
- Cocos2d-x3.8.1解析Json文件
- python插件的安装
- 一秒钟让Chrome变成所见即所得的编辑器
- top
- 我是正经搞PHP的!不是拍片的!
- POJ 1006(中国剩余定理)
- Genymotion启动失败的解决方法
- 设计模式原则概述
- 【心情】"支NMLGB配树”