Как распарсить массив структур в json с помощью библиотеки nlohmann/json?
Мне нужно распарсить json файл с помощью библиотеки nlohmann. Проблема в том, что я не знаю как распарсить массив структур. Если массив состоит из базовых типов, к примеру интов, тут все понятно
{
"list" : [
1, 2, 3, 4
]
}
Этот список парсится так
std::vector<int> list;
test["list"].get_to<std::vector<int>>(list);
Но как быть, если массив состоит из сложных структур и выглядит как то так?
{
"list" : [
{
"a" : 1,
"b" : 2
},
{
"a" : 2,
"b" : 1
}
]
}
Ответы (1 шт):
Автор решения: user7860670
→ Ссылка
Для этого необходимо объявить свою структуру и написать для нее соотв. функции [де]сериализации c сигнатурами void from_json(json const & j, my_type & p) и void to_json(json & j, my_type const & p).
После этого появится возможность работать с объектами этого типа аналогично встроенным std::vector<my_type> list; test["list"].get_to<std::vector<my_type>>(list);