基于文件中的值初始化对象

时间:2017-05-09 15:34:41

标签: c++ json class

我有以下JSON文件:

{
    "var": {
        "a": 1,
        "b": 2,
        "c": "a",
        "d" :3,
        "e" :"b",
        "f": 12,
        "g": 13,
        "h": 14
    }
}

这是我使用nlohmann的JSON库阅读的。这是一个工作示例,我手动读取JSON文件并使用它来设置对象的成员变量:

#include <iostream>
#include <fstream>
#include "json.hpp"
using namespace std;

class
    Test
{
  private:
  public:
    int a, b, d, f, g, h;
    string c, e;
};

int main()
{
    ifstream input_json("tmp.json");
    nlohmann::json j = nlohmann::json::parse(input_json);

    Test test;
    test.a = j["var"]["a"];
    test.b = j["var"]["b"];
    test.c = j["var"]["c"];
    test.d = j["var"]["d"];
    test.e = j["var"]["e"];
    test.f = j["var"]["f"];
    test.g = j["var"]["g"];
    test.h = j["var"]["h"];

    return 0;   
}

问题:说我的JSON结构有+10个变量。有没有办法自动化使用我从JSON文件中读取的值初始化对象的过程,还是必须像上面那样手动输入?

0 个答案:

没有答案