美文网首页
kapok 简介及使用

kapok 简介及使用

作者: 登龙zZ | 来源:发表于2017-05-24 10:48 被阅读0次

    kapok 简介及使用


    版权声明:本文为 cheng-zhi 原创文章,可以随意转载,但必须在明确位置注明出处!

    简介

    kapok 是一个优秀的序列化库,可以将对象序列化成 Json 格式的字符串,它同时也使用了 rapidjson 开源项目,支持 SAXDOM 解析。

    GitHUb 地址:kapok

    GitHub 地址:rapidjson

    因为项目中使用了它们,所以这里记录下使用的方法。

    使用方法

    使用 kapok 的方法非常简单,只需要 3 个步骤。

    1.为对象增加可以序列化的属性

    #include "kapok/Kapok.hpp"
    
    struct YourType {
      int a;
      double b;
      std::string c;
    
      // 获取对象的元信息,这是一个宏定义,实际上就是一个函数
      META(a, b, c) 
    }
    

    2.序列化对象

    #include "kapok/Kapok.hpp"
    
    YourType t = { 1, 2.2, "Hello" };
    
    // 创建一个序列化对象
    Serialize sr;
    
    // 用 sr 来序列化对象 t
    sr.Serialize(t);
    
    // 得到序列化后的对象的 json 字符串
    std::string json_str = sr.GetString();
    

    3.反序列化对象

    #include "kapok/Kapok.hpp"
    
    // 创建一个反序列化对象
    DeSerializer dr;
    
    YourType t;
    
    // 只要你解析的是 sr.GetString() 格式即可,
    // 例如你可以在服务器端通过网络发送 sr.GetString() 到客户端,
    // 然后客户端使用 dr 来解析并反序列化也是可以的。
    dr.Parse(json_str);
    
    // 反序列化到对象 t
    dr.DeSerializer(t);
    

    iguana

    kapok 的作者建议我们使用更好的 iguana 序列化库,下次机会在项目中用用。

    iguana 地址:iguana

    你要了解并学会使用 Json

    原文地址

    相关文章

      网友评论

          本文标题:kapok 简介及使用

          本文链接:https://www.haomeiwen.com/subject/lxinxxtx.html