ngl_server 1.0
基于 Actor 模型的 C++ 服务器框架
ngl::json_format< T > Struct Template Reference

JSON序列化/反序列化模板。 More...

#include <njson.h>

Static Public Member Functions

static bool pop (rapidjson::Value *ajson, const char *akey, T &adata)
 从JSON对象中读取指定键的值。
static bool push (rapidjson::Value *ajson, rapidjson::Document::AllocatorType *aallocator, const char *akey, const T &adata)
 将值写入JSON对象的指定键。
static bool pushback (rapidjson::Value *ajson, rapidjson::Document::AllocatorType *aallocator, const T &adata)
 将值追加到JSON数组。

Detailed Description

template<typename T>
struct ngl::json_format< T >

JSON序列化/反序列化模板。

通过模板特化为不同类型提供JSON读写能力。 基本类型(int、float、string等)有内置特化, 枚举和Protobuf消息通过if constexpr在通用版本中处理。

Template Parameters
T要序列化/反序列化的类型

Member Function Documentation

◆ pop()

template<typename T>
bool ngl::json_format< T >::pop ( rapidjson::Value * ajson,
const char * akey,
T & adata )
static

从JSON对象中读取指定键的值。

Parameters
ajsonJSON对象指针
akey键名(nullptr时直接读取ajson本身)
adata输出参数
Returns
true 读取成功
false 读取失败

◆ push()

template<typename T>
bool ngl::json_format< T >::push ( rapidjson::Value * ajson,
rapidjson::Document::AllocatorType * aallocator,
const char * akey,
const T & adata )
static

将值写入JSON对象的指定键。

Parameters
ajsonJSON对象指针
aallocator内存分配器
akey键名
adata要写入的值
Returns
true 写入成功
false 写入失败

◆ pushback()

template<typename T>
bool ngl::json_format< T >::pushback ( rapidjson::Value * ajson,
rapidjson::Document::AllocatorType * aallocator,
const T & adata )
static

将值追加到JSON数组。

Parameters
ajsonJSON数组指针
aallocator内存分配器
adata要追加的值
Returns
true 追加成功
false 追加失败

The documentation for this struct was generated from the following file: