Cocos2d-x的產生Json檔案的方法(續)

來源:互聯網
上載者:User

標籤: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"}]}


Cocos2d-x的產生Json檔案的方法(續)

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.