跳到主要内容

xpack 库

xpack 是一个用于在 C++ 结构体和 JSON、XML 数据格式之间互相转换的库,采用 Apache 2.0 开源许可协议。该项目的前身是 x2struct 库(已不再维护)。

xpack 库由 C++ 编写,只有头文件,无需编译库文件,只需要添加相应的头文件即可使用。

使用示例:

#include <iostream>
#include "xpack/json.h" // Json包含这个头文件,xml则包含xpack/xml.h

using namespace std;

struct User {
int id;
string name;
XPACK(O(id, name)); // 添加宏定义XPACK在结构体定义结尾
};

int main(int argc, char *argv[]) {
User u;
string data = "{\"id\":12345, \"name\":\"xpack\"}";

xpack::json::decode(data, u); // json转结构体
cout<<u.id<<';'<<u.name<<endl;

string json = xpack::json::encode(u); // 结构体转json
cout<<json<<endl;

return 0;
}