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

Нужно (де)сериализовать структуру в/из xml Но не получается Есть тут гуры серде

как это решить?

Пытался уже кастомный десериализатор юзать, но на вход приходит мапа, с одним ключем на все значения, то есть теряется ключ, вместо которого толкьо $value, вместо строки

https://play.rust-lang.org/?version=stable&mode=debug&edition=2018&gist=9be2b4acb8ea9c2b5a9b2959d0efeab9

18 ответов

5 просмотров

Вот это вот тоже паникует, если что.

у тебя вариант Value(String) никогда не используется. Даже когда у тебя просто let to_de = r#" <Test> <fields> <field_001>a</field_001> <field_002>b</field_002> <field_003>c</field_003> </fields> </Test>"#; десериализуется оно в Subfields

Артем-Пятницкий Автор вопроса
Αλεχ Zhukovsky
у тебя вариант Value(String) никогда не использует...

Это я уже понял. Лично я сдался и написал ручной парсинг на токенах, без серде

Артем Пятницкий
Это я уже понял. Лично я сдался и написал ручной п...

но если чутка почитать доку то все работает :) https://play.rust-lang.org/?version=stable&mode=debug&edition=2018&gist=c47f50db156ffabd93a11acbc3187d74

Артем-Пятницкий Автор вопроса
Αλεχ Zhukovsky
но если чутка почитать доку то все работает :) ht...

Спасибо конечно, на самом деле я пробовал это решить через подобную обертку, только в виде newtype (все остальные string как раз обертки newtype, которые правильно парсятся не ккак аттрибуты), но вот только newtype не может выбрать вариант enum. А rename = "$value" не дает возможности нормально (де)сериализовывать в json, а хотелось бы

Артем Пятницкий
screenshot Спасибо конечно, на самом деле я пробовал это реши...

Тогда можно было сделать свой визитом этого поля. Все ещё я бы лучше на серде делал :) Но немного странно конечно

Артем Пятницкий
Что ты имеешь ввиду?

ну вместо derive(Deserialize) можно руками его реализовать и правильно хреначить. Дерайв же это срезать углы когда очевидно как десериализовывать, а не единственный способ. И там можно учесть все нужные нюансы. Но все ещё оставаться в рамках серде

Артем-Пятницкий Автор вопроса
Αλεχ Zhukovsky
ну вместо derive(Deserialize) можно руками его реа...

Вот пол дня я и занимался тем, чтобы написать кастомные (De)serialize имплементации, но вся проблема сводилась к реализации Deserializer, которая неправильные визиторы выбирала. Хотя я может не умею готовить серде

Артем Пятницкий
Вот пол дня я и занимался тем, чтобы написать каст...

так тебе нужно было написать свой визитор. А там уже обрабатывать одинаково ситуации и когда у тебя инлайн значение, и когда оно завернуто в мапу с единственным ключом $value. Правда как сериализовывать обратно это дело не очень ясно :)

Артем-Пятницкий Автор вопроса
Αλεχ Zhukovsky
так тебе нужно было написать свой визитор. А там у...

В том то и проблема, что имплементил визитор, и десериализатор ходил в visit_map() в котором мне приходила мапа, в котороой все ключи были равны $value, то есть терялись ключи, только значения оставались

Артем Пятницкий
В том то и проблема, что имплементил визитор, и де...

https://github.com/alexcrichton/toml-rs/blob/022e914ccf9ae0ed61e5fd09152b41f37737602a/src/ser.rs#L945 Вот примерно так можно попробовать

Артем Пятницкий
В том то и проблема, что имплементил визитор, и де...

короч напиши мвп с жсоном и хмл, я гляну че можно сделать

Артем-Пятницкий Автор вопроса
Αλεχ Zhukovsky
короч напиши мвп с жсоном и хмл, я гляну че можно ...

Вот, если ты про такой МВП имел ввиду https://play.rust-lang.org/?version=stable&mode=debug&edition=2018&gist=6b1f7f632acbc3b2a1d4af4ebc18c8f5

Артем-Пятницкий Автор вопроса
Αλεχ Zhukovsky
а чем лучше quick_xml чем serde-xml-rs?

Ну судя по интернетам - в среднем в 10 раз быстрее

Артем-Пятницкий Автор вопроса
Αλεχ Zhukovsky
а чем лучше quick_xml чем serde-xml-rs?

Возможно автор просто саморекламится, но почему-бы не поверить в это

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

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

коллеги, добрый вечер! А никто не знает как модальная форма может себя закрыть? Ну допустим модальная форма определила, что смысла ей работать нет и хочет вернуть modalResult...
Михаил
83
Hi Everyone! To all Are you Looking for Interview Support at the Lowest Price? Look no further! Then contact us We offer Interview Support for a low cost variety of technol...
Rambabu Nallamilli
3
верно что я могу удалить эти addq и subq т.к. со стеком никакого взаимодействия нет (исключая call)?
Michael
16
Добрый день Хочу начать обучение языку, не являюсь представителем it, буду благодарна за помощь, совсем пока не понимаю ничего) Подскажите, пожалуйста, где можно начать первы...
Sara Lala
28
А если изначально бот работал так : есть сайт онлайн школы. У каждого ученика свой кабинет. Где он авторизуется по своим данным. И уже в кабинете, на самом сайте делает оплату...
Денис 💡 Фрилансер
13
средствами IBX как-то можно выполнить запрос insert ... returning?
Igor
31
А что ты вообще делаешь ?
Yesgoter
13
Hi there everyone Is there anyone who have not started hamster bot yet? I need only one, I'll be glad if you do this for me DM if you haven't yet
Mehrshad
53
На работе пишем распределенное приложение, у которого сотни, если не тысячи настроек. Конфиги написаны на xml, расположены на разных хостах и должны быть согласованы друг с др...
Aleksandr Druzhinin
5
Всем привет 🙂 Какая-то непонятная проблема у меня с видео, раньше такого не было. Загружаю видео с гугл диска именно в видео mp4 и меняю ссылку как положено вот она: https://d...
Ксюша|Верстка на Тильде|Дизайн 🦥
6
Карта сайта