Как распарсить массив структур в 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);

→ Ссылка