Say I have a json array that looks like this:
[
{
"Name": "test",
"Val": "test_val"
},
{
"Name": "test2",
"Val": "test_val2"
}
]
I want to convert this into a vector of structs:
struct Test {
string Name;
string Val;
};
I know about the json.get<>() method, but do not know how to apply that to this.
For the automatic get<> to work, you need to provide a mapping between JSON and your struct:
void from_json(const nlohmann::json& j, Test& p) {
j.at("Name").get_to(p.Name);
j.at("Val").get_to(p.Val);
}
Then it will work as expected.
auto parsed = json.get<std::vector<Test>>();
Demo: https://godbolt.org/z/9P1mjO
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With