172 похожих чатов

Всем привет. Подскажите, как в расте сделать аналог мапы Map<String, Object>

из других языков? Т.е. ключи строковые, а значения могут быть любыми.

В serde есть тип Value, который вполне подходит, но не хочется тащить его в доменную область. Как обычно поступают в таких ситуациях?

12 ответов

18 просмотров

Box<dyn Any>?

лучше определитесь с возможными для вас типами и запихните их в enum

serde value делает ровно также

san-smith- Автор вопроса
Денис Котляров
лучше определитесь с возможными для вас типами и з...

Не могу. Точнее, я знаю, что там точно будет валидный json, но конкретные значения могут быть любыми. В принципе-то меня устраивает вариант с Value, но смущает один момент: здесь он естественным образом возник из-за того, что приходится парсить жсоны, а если кто-то пишет приложение, которое не занимается (де)сериализацией, но требует похожую мапу, то как эту задачу решают в общем случае?

в расте типы преимущественно стираются

san-smith- Автор вопроса

Можете немного раскрыть этот тезис?

san-smith
Можете немного раскрыть этот тезис?

а что хотите потом с Object делать?

san-smith- Автор вопроса
Demitrii
а что хотите потом с Object делать?

Ситуация такая: есть поле структуры, которое по-сути представляет собой json. Для разных экземпляров этой структуры наполнение может быть разным (разный набор ключей/значений). А использовать предполагается примерно так: где-то у этого поля могут попросить значения одних ключей (если они есть), в другом месте — других.

san-smith
Ситуация такая: есть поле структуры, которое по-су...

#[derive(Clone, Debug, PartialEq, Serialize, Deserialize)] #[serde(rename_all = "camelCase")] #[serde(tag = "pole")] enum Pole { Variant1 {odin_kluch: String, drugoi_kluch: String}, Variant2 { sovsem_drugoi_kluch: String} }

san-smith- Автор вопроса
Mister Tomato
#[derive(Clone, Debug, PartialEq, Serialize, Deser...

В общем случае я не могу типизировать это жсон, вариантов ключей может быть любое количество (во всяком случае, все варианты мне не известны).

Похожие вопросы

Обсуждают сегодня

Господа, а что сейчас вообще с рынком труда на делфи происходит? Какова ситуация?
Rꙮman Yankꙮvsky
29
А вообще, что может смущать в самой Julia - бы сказал, что нет единого стандартного подхода по многим моментам, поэтому многое выглядит как "хаки" и произвол. Короче говоря, с...
Viktor G.
2
30500 за редактор? )
Владимир
47
а через ESC-код ?
Alexey Kulakov
29
Гайс, вопрос для разносторонее развитых: читаю стрим с юарта, нада выделять с него фреймы с определенной структурой, если ли чо готовое, или долбаться с ринг буффером? нада у...
Vitaly
9
Чёт не понял, я ж правильной функцией воспользовался чтобы вывести отладочную информацию? но что-то она не ловится
notme
18
У меня есть функция где происходит это: write_bit(buffer, 1); write_bit(buffer, 0); write_bit(buffer, 1); write_bit(buffer, 1); write_bit(buffer, 1); w...
~
14
Добрый день! Скажите пожалуйста, а какие программы вы бы рекомендовали написать для того, чтобы научиться управлять памятью? Можно написать динамический массив, можно связный ...
Филипп
7
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
длина пакета фиксированная, или меняется?
Okhsunrog
7
Карта сайта