Method of Generating Json file for Cocos2d-x (continued), cocos2d-xjson
This article undertakes from the above: http://blog.csdn.net/yuxikuo_1/article/details/39155335
1. JsonMake class
//.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. Usage
Save the generated json file locally
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. Results
//json{"info":[{"Name":"Yuxikuo","Age":"18","Sex":"man"},{"Name":"WangDongGe","Age":"32","Sex":"woman"},{"Name":"zhanhong","Age":"20","Sex":"man"}]}
Where is the xml file generated by the cocos2d-x?
If you do not specify a location, it should be in the Debug. win32 folder.
Please search in the cocos2d-x directory, there are several versions in different locations
How to generate a json file ?? Urgent
The eval () function in JQuery can be written in the following way on the JSP page:
Function ArrToJson (){
Var arr = new Array ();
// Arr The data you want to convert to json format
Var jsonData = eval (arr );
}