С nlohmann::json
объект может быть проанализирован с помощью пары различных выражений:
type x = json;
type x; x = json.get<type>();
Однако type x; x = json;
не работает, поскольку для этого потребуется добавить новый оператор присваивания для type
.
Мне нужно использовать выражение (2) чаще, чем выражение (1). Это может раздражать, особенно если type
что-то сложное.
В нескольких случаях я определил
template <typename U>
void convert(const json& j, U& x) { x = j.get<U>(); }
Но было бы неплохо, если бы у get
была перегрузка, принимающая ссылку в качестве аргумента, чтобы было возможно следующее.
type x;
json.get(x);
Уже есть функция, которая делает это, просто с другим именем? Я не смог найти его в документации.
Редактировать : Я отправил выпуск на GitHub.
Редактировать 2 : альтернатива функции get
, T& get_to(T&)
, будет включена в выпуск 3.3.0.