如何使用rapidjson将对象序列化为std :: string(实现序列化)? [英] How to serialize object to std::string using rapidjson (Implemented serialize)?

查看:1310
本文介绍了如何使用rapidjson将对象序列化为std :: string(实现序列化)?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

如何使用RapidJSON将对象序列化为std :: string? 我已经实现

How to serialize object to std::string using rapidjson ? I have implemented

class Person{
public:
    std::string name;
    uint64 id; // uint64 is typedef

    template <typename Writer>
    void Serialize(Writer& writer) const {
        writer.StartObject();
        writer.String("name");
        writer.String(name);
        writer.String(("id"));
        writer.Uint64(id);
        writer.EndObject();
    }
     std::string serialize(){
        FileStream s(stdout);
        PrettyWriter<FileStream> writer(s);   
        Serialize(writer);
        return  ? /// There is a problem

    }
}

问题在序列化函数中返回什么?

problem is in serialize function what to return ?

推荐答案

问题已经很老了,如果您仍在寻找答案,那么这里是@Lightness Races in Orbit建议的问题

Question is pretty old, in case you're still looking for answer, then here is the one as suggested by @Lightness Races in Orbit

class Person{
public:
    std::string name;
    uint64 id; // uint64 is typedef

    template <typename Writer>
    void Serialize(Writer& writer) const {
        writer.StartObject();
        writer.String("name");
        writer.String(name);
        writer.String(("id"));
        writer.Uint64(id);
        writer.EndObject();
    }
     std::string serialize(){
        StringBuffer s;
        Writer<StringBuffer> writer(s);
        Serialize(writer);
        return  s.GetString();
    }
}

您还可以在此处查看示例代码: simplewriter.cpp

You can also look at example code here: simplewriter.cpp

这篇关于如何使用rapidjson将对象序列化为std :: string(实现序列化)?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆