Используйте nlohmann json для распаковки списка целых чисел в std :: vector <int> - PullRequest
0 голосов
/ 27 января 2019

Я использую https://github.com/nlohmann/json

Это потрясающе.

Но ... есть ли способ распаковать:

{
    "my_list" : [1,2,3]
}

в std:vector<int>?

Я не могу найти никаких упоминаний, и std::vector<int> v = j["my_list"]; не удается, как и j["my_list"].get<std::vector<int>>()

Сшивание с https://github.com/nlohmann/json/issues/1460

1 Ответ

0 голосов
/ 28 января 2019

Я колоссальный идиот.

Это работает .Я не выделил тестовый пример, и моя строка JSON была искажена.

Итак,

json J(json_string);
J["my_list"].get<std::vector<int>>()

работает работает.

В моем случае я проверяю, чтобы мои имена C ++ совпадали с ключами JSON, поэтому я могу просто использовать макрос:

#define EXTRACT(x) x = J[#x].get< decltype(x) >()

int foo;
std::vector<float> bar;

EXTRACT(foo);
EXTRACT(bar);

Мои извинения автору.

...