Cocos2d-x3.1生成Json串

#include "HelloWorldScene.h"
#include "json/document.h"
#include "json/writer.h"
#include "json/stringbuffer.h"
#include <iostream>
using namespace rapidjson;
USING_NS_CC;

Scene* HelloWorld::createScene()
{
    // 'scene' is an autorelease object
    auto scene = Scene::create();

    // 'layer' is an autorelease object
    auto layer = HelloWorld::create();

    // add layer as a child to scene
    scene->addChild(layer);

    // return the scene
    return scene;
}

// on "init" you need to initialize your instance
bool HelloWorld::init()
{
    bool bRet = false;
    do{
        CC_BREAK_IF(!Layer::init());

        auto path = FileUtils::getInstance()->getWritablePath();
        log("path = %s",path.c_str());
        path.append("test.json");

        rapidjson::Document document;
        document.SetObject();

        rapidjson::Document::AllocatorType& allocator = document.GetAllocator();
        rapidjson::Value array(rapidjson::kArrayType);
        rapidjson::Value array1(rapidjson::kArrayType);
        rapidjson::Value object(rapidjson::kObjectType);
        rapidjson::Value object1(rapidjson::kObjectType);

        object.AddMember("TransType","CALLCENTER", allocator);
        object.AddMember("TransCode",00011002, allocator);
        object.AddMember("SubTransCode",2, allocator);
        object.AddMember("TransDate",2013-6-17, allocator);
        object.AddMember("TransTime","15:23:25", allocator);
        object.AddMember("TransSeq",00011002-2201361700017, allocator);
        object.AddMember("Operator","web", allocator);
        object.AddMember("RowNumStart",1, allocator);
        object.AddMember("PageRowNum",1000, allocator);
        object.AddMember("PageFlag",0, allocator);
        object.AddMember("TotalRowNum","", allocator);
        object.AddMember("ResultCode","", allocator);
        object.AddMember("ResultMsg","", allocator);
        object.AddMember("OrderFlag",0, allocator);
        object.AddMember("OrderField","", allocator);
        array.PushBack(object, allocator);

        object1.AddMember("ContNo",662206117012, allocator);
        array1.PushBack(object1, allocator);

        document.AddMember("BaseInfo",array, allocator);
        document.AddMember("InputData",array1, allocator);

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

        FILE* fp = std::fopen(path.c_str(), "at+");
        CCASSERT(fp != NULL, "file open error");
        auto str = StringUtils::format("%s",buffer.GetString());
        auto length = str.length();
        log("length = %lu",str.length());
        fwrite(str.c_str(), length, 1, fp);
        fclose(fp);

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

时间: 2024-11-08 21:58:03

Cocos2d-x3.1生成Json串的相关文章

IOS json解析 和生成json串

1.生成json字符串 NSData * jsonData = [NSJSONSerialization dataWithJSONObject:detailDic options:0 error:nil]; NSString * myString = [[NSString alloc] initWithData:jsonData encoding:NSUTF8StringEncoding]; 2.json解析 NSDictionary * selectSimpleTest = [NSJSONSe

Java生成json串、JSONObject与JSONArray的使用

1.JAR包简介 要使程序可以运行必须引入JSON-lib包,JSON-lib包同时依赖于以下的JAR包: commons-lang.jar commons-beanutils.jar commons-collections.jar commons-logging.jar ezmorph.jar json-lib-2.2.2-jdk15.jar 2.JSONObject对象使用 JSON-lib包是一个beans,collections,maps,java arrays 和XML和JSON互相转

jsp传给java属性,java生成json串,方便以后取出来

前台代码 $.ajax({ url : '<%=basePath%>userorderother/canUpdateCust.do', type : 'POST', data: {'kdcompany':kdcompany, 'kdcardid':kdcardid, 'odid':odid}, async : false, success : function(data) { location.reload(); } }); 后台代码 /**修改地址信息 * @param * @throws

android下基本json串的生成与解析

以前就用过json串,不过是在java环境下面,如今转移到android环境下,java里面生成解析json串的jar包与android中自带的冲突,所以也只能用安卓自带的. 先前查网上的资料,感觉很多都说的很乱,直接给出了例子,也不解释一下就算完成,他们自己肯定是明白的,但是让读者理解起来肯定有点难度.而且解析的方法很多,而这里,我就介绍一种最原始最简单的吧.希望我拙劣的表达能力不会影响到你们的理解. 首先我们先讲一下json串格式 比如对象pet(宠物) class pet{ int pet

C# 对象与JSON串互相转换

.Net2.0 需要借助于Newtonsoft.Json.dll using System; using System.IO; using System.Text; using Newtonsoft.Json; namespace OfflineAcceptControl.UCTools { public class JsonTools { // 从一个对象信息生成Json串 public static string ObjectToJson(object obj) { return JavaS

CEF生成JSON数据

在"使用CEF的JSON解析功能"中介绍了使用CefParseJson方法,与之对应的还有一个CefWriteJson方法,可以用来生成JSON串(或二进制),其函数原型如下: // Generates a JSON string from the specified root |node| which should be a // dictionary or list value. Returns an empty string on failure. This method //

C#下对象与JSON串互相转换

最近在写点东西,要用到对象和JSON互相转换的,总结了下,也可能有错误,也有网上找来的东西,结合在这里记录一下. 在.NET 2.0下,是需要自己添加Newtonsoft.Json.dll动态链接库的 using System; using System.IO; using System.Text; using Newtonsoft.Json; namespace OfflineAcceptControl.UCTools { public class JsonTools { // 从一个对象信息

json 生成 json字符串

生成json格式的字符串. 需要相关包 1 package cn.itcast.controller; 2 3 import static org.junit.Assert.*; 4 5 import java.util.ArrayList; 6 import java.util.List; 7 8 import net.sf.json.JSONArray; 9 import net.sf.json.JSONObject; 10 import net.sf.json.JsonConfig; 11

纯js写的分页表格数据为json串

<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%> <%@ taglib prefix="s" uri="/struts-tags" %> <% String path = request.getContextPath(); String basePath = request.getSchem