首页 > 代码库 > Cocos2d-x 制作JSON字符串的方法

Cocos2d-x 制作JSON字符串的方法

原文地址:http://blog.csdn.net/qqmcy/article/details/39152695

这个里主要说的是如何编写JSON格式的字符串。直接上代码比较简单。

MakeJson.h

//
//  MakeJson.h
//  cpp4
//
//  Created by 杜甲 on 14-9-9.
//
//

#ifndef __cpp4__MakeJson__
#define __cpp4__MakeJson__

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

USING_NS_CC;

class MakeJson : public Ref
{
public:
    CREATE_FUNC(MakeJson);
    
    virtual bool init();
    std::string getTestJson();
    
 
    
};
#endif /* defined(__cpp4__MakeJson__) */


MakeJson.cpp

//
//  MakeJson.cpp
//  cpp4
//
//  Created by 杜甲 on 14-9-9.
//
//

#include "MakeJson.h"

bool MakeJson::init()
{
    bool bRef = false;
    do {
        bRef = true;
    } while (0);
    return bRef;
}

std::string MakeJson::getTestJson()
{
    auto path = FileUtils::getInstance()->getWritablePath();
    log("%s",path.c_str());
    
    //在这个路径下添加一个json文件
    path.append("test.json");
    
    rapidjson::Document d1;
    d1.SetObject();
    rapidjson::Document::AllocatorType& allocator = d1.GetAllocator();
    rapidjson::Value array(rapidjson::kArrayType);
    rapidjson::Value object(rapidjson::kObjectType);
    
    
    object.AddMember("id", "1", allocator);
    object.AddMember("name", "234", allocator);
    object.AddMember("年龄", "111", allocator);
    array.PushBack(object, allocator);
    d1.AddMember("propety", "PLAYER-TO", allocator);
    d1.AddMember("player", array, allocator);
    
    rapidjson::StringBuffer buffer;
    rapidjson::Writer<rapidjson::StringBuffer> write(buffer);
    d1.Accept(write);

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



Cocos2d-x 制作JSON字符串的方法