x2struct使用介绍
大家在使用c或者c++做开发的时候,经常会遇到需要把json或者xml的字符串解析出来,那么有没有一个类或库能像JAVA一样是写快速解析或者生成json、xml格式字符串。答案是肯定的,本文重点介绍一下x2Struct解析库的使用方法,使用该库来解析能大大降低代码的复杂度,使程序简洁,不容易出错。
- struct转化成json字符串
#include <iostream>
#include "x2struct.hpp" // 需要包含这个头文件(头文件和库在文章尾附有链接)
//声明结构体
struct User {
int64_t id;
string name;
string mail;
User(int64_t i=0, const string& n="", const string& m=""):id(i),name(n),mail(m){}
XTOSTRUCT(O(id,name, mail)); // 添加宏定义XTOSTRUCT在结构体定义结尾
};
struct Group {
string name;
int64_t master;
vector<User> members;
XTOSTRUCT(O(name, master, members)); // 添加宏定义XTOSTRUCT在结构体定义结尾
};
int main(int argc, char *argv[]) {
Group g;
g.name = "C++";
g.master = 2019;
g.members.resize(2);
g.members[0] = User(1, "123", "c_duweie@163.com");
g.members[1] = User(2, "456", "c_duweie@163.com");
string json = x2struct::X::tojson(g);// 结构体转json
cout<<json<<endl;
return 0;
}