我问了这个问题,答案对于常规(非嵌套)对象非常有效:
[
{
"Name": "test",
"Val": "test_val"
},
{
"Name": "test2",
"Val": "test_val2"
}
]
使用结构:
struct Test {
string Name;
string Val;
};
但是,当我尝试使用嵌套结构时,如下所示:
struct Inner {
string Name;
string Value;
};
struct Outer {
string Display;
int ID;
Inner Nested
};
//with json
"
[
{
"Display": "abcd",
"ID": 100,
"Nested": {
"Name": "Test Name",
"Value": "Test Value"
}
}
]
"
它给了我这个错误:
In function 'void from_json(const json&, Outer&)':
parser/run.cc:16:41: error: no matching function for call to 'nlohmann::basic_json<>::get_to(std::vector<Inner>&) const'
j.at("Inner").get_to(p.Inner);