в чем проблема?
Не всегда возможно, особенно если пишите библиотеку, обрабатываете конфиги, и т.д. Мы в похожих местах парсили serde_json::Value, и где невозможно работали с ним, а где возможно перегоняли в структуры
Не то чтобы проблема, но всё же: тип Value, который вполне подходит для моих целей, есть в библиотеке serde. По смыслу его логично использовать в data-слое. В доменном же слое он выглядит не так уместно, особенно если изначально не планировалось выполнять никакую (де)сериализацию. В других языках обычно в таком случае используют тип стандартный Object (мол, ключ может быть любым, при необходимости скастуешь в нужный), а как решается похожая задача в rust я не знаю.
нужна тогда структура типа этой - https://docs.rs/rhai/latest/rhai/type.Map.html, своя, подобная или эта, знаю только эту
Box<dyn Any> тоже скастовать можно.
Если это по смыслу дессериализуемуя структура, то тут ровно serde_json и нужен. Если дессериализация не нужна, то можно использовать AnyMap
Обсуждают сегодня