我使用libJson (C++库)解析JSON文件。我的JSON文件如下所示。
{
"Comany":
{
"name": "Some Company",
"Resources": {
"employees": [
{"name": "John", "id": "23432"},
{"name": "Alex", "id": "32432"}
],
"Computers": [
{"IPAddress": "192.168.1.3", "CPU": "IntelCorei5"},
{"IPAddress": "192.168.1.4", "CPU": "IntelCorei3"}
]
}
}
}我有员工和电脑的结构。我想要建立一系列的结构。
有什么想法可以用libJson来完成吗?
发布于 2015-11-20 01:03:08
帕卡尔坚持看起来非常适合你想要做的事情。
由于c++中没有反射,所以您需要做的唯一额外的事情就是添加一个成员函数。
#include "JsonReader.h"
struct Computer
{
std::string IPAddress;
std::string CPU;
void persist(Archive* archive)
{
a->value("IPAddress",IPAddress);
a->value("CPU",CPU);
}
}
struct Employee
{
std::string name;
int id;
void persist(Archive* archive)
{
a->value("name",name);
a->value("id",id);
}
}
struct Resources
{
std::vector<Employee> employees;
std::vector<Computer*> Computers;
void persist(Archive* archive)
{
archive->value("employees","employee",employees);
archive->value("Computers","computer",Computers);
}
}
struct Company
{
std::string name;
Resources resources;
void persist(Archive* a)
{
a->value("name",name);
a->value("Resources",resources);
}
}
Company company;
JsonReader reader;
reader.read("company.json","Company",company);https://stackoverflow.com/questions/21513568
复制相似问题