美文网首页
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 简介及使用

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

  • tensorboard教程

    tensorboard TensorBoard 简介及使用流程

  • Webpack 2.0 学习过程资料整理

    Webpack学习过程及项目使用问题及资料整理 -- 2017.11.02 Webpack的简介及使用教程 Web...

  • LVS 简介及使用

    IPVS三种机制: VS/NAT,VS/TUN,VS/DR 一.LVS是什么? LVS的英文全称是LinuxVir...

  • swagger简介及使用

    swagger的由来 随着互联网技术的发展,现在的网站架构基本都由原来的后端渲染,变成了:前端渲染、先后端分离的形...

  • Thrift简介及使用

    一、简介 1.Thrift是一种典型的CS(客户端/服务端)结构,客户端与服务端可以使用不同的语言开发。既然客户端...

  • MJExtension简介及使用

    一, 简介 1.MJExtension是一套字典和模型之间互相转换的超轻量级框架,支持以下类型转换: JSON –...

  • JELLYFISH简介及使用

    软件简介 功能 统计并筛选DNA序列中k-mers的数目,输出的结果为二进制文件,能够使用jellyfish du...

  • MessagePack简介及使用

    什么是MessagePack 官方msgpack官网用一句话总结:It’s like JSON.but fast ...

  • Zabbix简介及使用

    Linux监控平台介绍 流行的开源监控软件有:Cacti、Nagios、Zabbix、smokeping、open...

网友评论

      本文标题:kapok 简介及使用

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