gpt4 book ai didi

c++ - 使用 libJson 创建结构数组

转载 作者:行者123 更新时间:2023-11-28 07:07:44 26 4
gpt4 key购买 nike

我正在使用 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"}
]
}
}
}

我有 Employee 和 Computer 的结构。我想创建一个结构数组。

有什么想法可以用 libJson 完成吗?

最佳答案

Pakal Persist看起来非常适合您正在尝试做的事情。

由于在 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);

关于c++ - 使用 libJson 创建结构数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21513568/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com