Cocos2d-x的生成Json文件的方法(续)

本文承接自前文:http://blog.csdn.net/yuxikuo_1/article/details/39155335

1、JsonMake类

//.h
#include "cocos2d.h"
#include "../cocos2d/external/json/document.h"
#include "../cocos2d/external/json/writer.h"
#include "../cocos2d/external/json/stringbuffer.h"

USING_NS_CC;
using namespace rapidjson;

class JsonMake : public Ref
{
public:
    CREATE_FUNC(JsonMake);
    virtual bool init();
    std::string getJsonMyBaodanMain();
};
//.cpp
#include "JsonMake.h"
bool JsonMake::init()
{
    bool bRet = false;
    do{

        bRet = true;
    }while(0);
    return bRet;
}

std::string JsonMake::getJsonMyBaodanMain()
{
    rapidjson::Document document;
    document.SetObject();

    rapidjson::Document::AllocatorType& allocator = document.GetAllocator();
    rapidjson::Value object1(rapidjson::kObjectType);
    rapidjson::Value object2(rapidjson::kObjectType);
    rapidjson::Value object3(rapidjson::kObjectType);
    rapidjson::Value object4(rapidjson::kArrayType);

    object1.AddMember("Name", "Yuxikuo", allocator);
    object1.AddMember("Age", "18", allocator);
    object1.AddMember("Sex", "man", allocator);

    object2.AddMember("Name", "WangDongGe", allocator);
    object2.AddMember("Age", "32", allocator);
    object2.AddMember("Sex", "woman", allocator);

    object3.AddMember("Name", "zhanhong", allocator);
    object3.AddMember("Age", "20", allocator);
    object3.AddMember("Sex", "man", allocator);

    object4.PushBack(object1,allocator);
    object4.PushBack(object2,allocator);
    object4.PushBack(object3,allocator);

    document.AddMember("info", object4, allocator);

    StringBuffer buffer;
    rapidjson::Writer<StringBuffer> writer(buffer);
    document.Accept(writer);
    log("%s",buffer.GetString());

    return StringUtils::format("%s",buffer.GetString());

}

2、使用方法

将生成的json文件保存的本地

        auto path = FileUtils::getInstance()->getWritablePath();
        log("path = %s",path.c_str());
        path.append("myBaodanMain.json");
        FILE* fp = std::fopen(path.c_str(), "at+");
        CCASSERT(fp != NULL, "file open error");

        auto jsonMake = JsonMake::create();
        auto str = jsonMake->getJsonMyBaodanMain();
        auto length = str.length();
        fwrite(str.c_str(), length, 1 ,fp);
        fclose(fp);

3、结果

//json
{"info":[{"Name":"Yuxikuo","Age":"18","Sex":"man"},{"Name":"WangDongGe","Age":"32","Sex":"woman"},{"Name":"zhanhong","Age":"20","Sex":"man"}]}

时间: 2024-12-15 01:46:57

Cocos2d-x的生成Json文件的方法(续)的相关文章

Cocos2d-x的生成Json文件的方法(续上续,哈哈)

1.Json生成工具升级版 本次Json生成工具升级版是经过封装,只需传入2个vector和1个int值即可完成Json文件的生成. 2.具体代码 1).h文件 #include "cocos2d.h" #include "../cocos2d/external/json/document.h" #include "../cocos2d/external/json/writer.h" #include "../cocos2d/exter

调试SQLSERVER (一)生成dump文件的方法

调试SQLSERVER (一)生成dump文件的方法 调试SQLSERVER (二)使用Windbg调试SQLSERVER的环境设置调试SQLSERVER (三)使用Windbg调试SQLSERVER的一些命令 我们知道调试程序主要有两种方法 一种是:live debugging (附加进程 使进程hang住) 生产环境最好不要live debugging 一种是:post-mortem debugging or reading dump files (生成dump文件然后进行分析) 现在介绍一

最有效的php生成pdf文件的方法,html转pdf文件方法

之前有个客户需要把一些html页面生成pdf文件,然后我就找一些用php把html页面围成pdf文件的类.方法是可谓是找了很多很多,什么html2pdf,pdflib,FPDF这些都试过了,但是都没有达到我要的求. pdflib,FPDF这两个方法是需要编写程序去生成pdf的,就也是讲不支持直接把html页面转换成pdf:html2pdf这个虽然可以把html页面转换成pdf文件,但是它只能转换一般简单的html代码,如果你的html内容要的是通过后台新闻编辑器排版的那肯定不行的. 纠结了半天,

Servlet中生成json文件,echarts模板调用

在echarts官网中下载的模板数据都是固定的,而我的项目需要数据是动态改变的,所以我试了很多方法来解决这个问题,其中成功的一种方法是在Servlet中先生成json数据格式,之后再把内容写到一个json文件中,在HTML中在调用这个json文件就可以了. 先生成json数据格式 JSONObject q1 = new JSONObject(); JSONObject q2 = new JSONObject(); JSONObject q3 = new JSONObject(); JSONObj

C#解析json文件的方法

C# 解析 json JSON(全称为JavaScript Object Notation) 是一种轻量级的数据交换格式.它是基于JavaScript语法标准的一个子集. JSON采用完全独立于语言的文本格式,可以很容易在各种网络.平台和程序之间传输.JSON的语法很简单,易于人阅读和编写,同时也易于机器解析和生成. JSON与XML的比较◆可读性 JSON和XML的可读性相比较而言,由于XML提供辅助的标签,更加适合人阅读和理解.◆文件大小与传输 XML允许使用方便的标签,所以文件尺寸是要比J

python中处理json文件的方法函数

1.json.loads() 将json字符串,转变为python中的“字典”类型 import json #json串是一个字符串f = open('product.json',encoding='utf-8') res=f.read() product_dic=json.loads(res) print(product_dic) 运行结果: 2.json.load() 读取文件进行处理,同样是将文件中的json字符串转换为字典类型 import json #json串是一个字符串f = op

MDK5生成BIn文件的方法

配置MDK5 生成bin文件的 第一步:方法打开option for Target 第二步:选择 user 第三步:找到After Build/Rebuild 第四步:勾选run,点击文件选择小图标选择fromelf.exe,在后面加命令 --bin -o ./Obj/@L.bin ./Obj/@L.axf.其中./Obj是MDK5中配置的中间文件的产生目的地址.其实就是.axf输出的路径而已. 然后编译,就会在对应的目录地下看到对应的BIN文件. 原文地址:https://www.cnblog

Java解析JSON文件的方法(一)

一.首先需要在Eclipse工程中导入相关的jar包,jar包参见链接:http://yunpan.alibaba-inc.com/share/link/NdA5b6IFK 二.提供一份待解析的json文件,apkinfo.json如下: [ { "name":"帐号", "package_name":"com.android.account", "check_version":"1.2"

PHP中生成json信息的方法

1 <?php 2 3 //php中生成json信息 4 //json_encode(数组/对象) 5 6 $color = array('red','blue','green'); //[索引数组] 7 echo json_encode($color),"<br />"; //["red","blue","green"] 8 9 $animal = array('east'=>'tiger','nor