Вопросы по теме 'serde'

Примеры десериализации Rust и Serde JSON?
Я пытаюсь понять, как десериализовать JSON в структуру с помощью Serde. Например, пример JSON в собственной документации serde_json содержит следующее данные: { "FirstName": "John", "LastName": "Doe", "Age": 43, "Address": {...
10033 просмотров
schedule 14.04.2023

Десериализовать в структуру с членом перечисления
Я пытаюсь взять json, который выглядит так: { "foo": "bar", "name": "some name" } и используйте serde для десериализации в такую ​​структуру данных: #[derive(Clone, PartialEq, Debug)] pub struct Quux { foo: Foo, name:...
1789 просмотров
schedule 02.02.2024

Преобразуйте два типа в один с помощью Serde
Я пишу для программы, которая подключается к веб-службе, которая отправляет обратно JSON. Когда определенного свойства нет, он предоставляет пустой объект со всеми его полями в виде пустых строк вместо исключения значения. Когда свойство...
1929 просмотров
schedule 22.05.2023

Как преобразовать поля во время сериализации с помощью Serde?
Как я могу применить преобразование к полю перед сериализацией? Например, как я могу гарантировать, что поля lat и lon в этом определении структуры округлены не более чем до 6 знаков после запятой перед сериализацией? #[derive(Debug,...
4854 просмотров
schedule 22.11.2022

Как «сгладить» вектор для создания нескольких элементов XML при использовании serde?
У меня есть следующие структуры: struct Artist { name: String, image: String, } struct Album { title: String, artists: Vec<Artist>, } Мне нужно создать XML, который выглядит так: <album> <title>Some...
645 просмотров
schedule 11.05.2022

Есть ли способ преобразовать карту Серде в значение?
Согласно спецификации Serde, Object / Map<String, Value> - это Value : pub enum Value { Null, Bool(bool), Number(Number), String(String), Array(Vec<Value>), Object(Map<String, Value>), } Но когда...
1862 просмотров
schedule 22.02.2023

Как десериализовать подполе структуры из JSON исходной структуры с помощью Serde?
Я хочу, чтобы атрибут Test::team_size десериализовался из данных самого объекта Test : #[derive(Debug, Serialize, Deserialize)] struct TeamSize { pub min: i64, pub max: i64, } #[derive(Debug, Serialize, Deserialize)] struct Test {...
1423 просмотров
schedule 22.01.2023

Как сопоставить структуру C с заполнением более 32 байтов, используя serde и bincode?
Я отображаю двоичную структуру, используя serde и bincode. #[macro_use] extern crate serde_derive; extern crate serde; extern crate bincode; #[derive(Serialize, Deserialize)] struct Superblock { magic: [u8; 16], //reserved: [u8; 492],...
1154 просмотров
schedule 05.04.2022

Как мы можем написать универсальную функцию для проверки сериализации и десериализации Serde?
В проекте, в котором задействованы специальные методы сериализации и десериализации Serde (1.0), я полагался на эту процедуру тестирования, чтобы проверить, приведет ли сериализация объекта и обратно к созданию эквивалентного объекта. // let o: T...
1240 просмотров
schedule 26.06.2022

Как я могу объединить два объекта JSON с Rust?
У меня есть два файла JSON: JSON 1 { "title": "This is a title", "person" : { "firstName" : "John", "lastName" : "Doe" }, "cities":[ "london", "paris" ] } JSON 2 { "title": "This is another title", "person" : {...
2198 просмотров
schedule 10.07.2022

Как сопоставить массив объектов JSON по свойству в структуру, содержащую векторы свойств каждого объекта?
Я получаю поток данных датчиков, которые мне нужно агрегировать и выполнять базовую статистику (среднее, максимальное, минимальное и т. д.). Существует несколько значений, но данные датчиков могут быть несовместимыми, а некоторые значения могут...
810 просмотров
schedule 23.09.2022

Как я могу десериализовать значение в структуру с этим значением и PhantomData в Serde?
Мне нужна дополнительная информация о типе URL-адреса, поэтому я создал структуру UrlWithPhantomdata с полем значения для URL-адреса и полем PhantomData . Как я могу десериализовать строку в эту структуру с помощью Serde? Более конкретно,...
553 просмотров
schedule 07.10.2022

Как настроить реализацию десериализации для определенных типов ввода, но не для всех?
У меня есть такой тип, хотя на самом деле мой тип больше и сложнее: struct MyType { i: u32, } Если я реализую Deserialize для этого типа, serde будет искать что-то вроде этого (меня интересует JSON): {"i":100} Я хочу...
1040 просмотров
schedule 09.07.2023

Не удается разрешить T: serde :: Deserialize ‹'a› при наследовании Deserialize на универсальной структуре
Я пытаюсь написать структуру, которая наследует serde::Deserialize , но у нее также есть поле, которое должно быть производным serde::Deserialize : extern crate serde; #[macro_use] extern crate serde_derive; use serde::{Deserialize,...
1022 просмотров
schedule 21.10.2022

Как написать трейт, привязанный к ссылке на ассоциированный тип самого трейта?
У меня есть этот код: extern crate serde; use serde::de::DeserializeOwned; use serde::Serialize; trait Bar<'a, T: 'a> where T: Serialize, &'a T: DeserializeOwned, { } Я хотел бы написать это, используя связанный тип,...
739 просмотров
schedule 18.03.2023

Как добавить дополнительную точку данных в экземпляр структуры при записи ее в файл с помощью Serde?
У Person есть first_name и last_name . Как добавить time экспорта в CSV при записи экземпляра Person в CSV? #[macro_use] extern crate serde_derive; extern crate csv; extern crate serde; use std::time::{SystemTime, UNIX_EPOCH};...
77 просмотров
schedule 10.02.2023

Как установить функции зависимостей на основе функций библиотеки?
У меня есть пакет, для которого я хочу, чтобы поддержка serde была необязательной. Я настроил его как функцию, и некоторые из моих зависимостей (например, nалгебра) также настроены как функция. В моем Cargo.toml у меня есть что-то вроде этого:...
35 просмотров
schedule 19.07.2022

Как я могу заставить Serde выделять строки на арене во время десериализации?
У меня есть структура со строковыми полями. Я хотел бы контролировать, как распределяется память для строк. В частности, я хотел бы выделить их, используя что-то вроде copy_arena . Может быть, я мог бы создать собственный ArenaString тип, но...
748 просмотров
schedule 07.05.2022

Как я могу массово реализовать Deserialize для всех типов, реализующих конкретный трейт?
Я десериализую файл конфигурации YAML с помощью Serde. Для большинства структур, в которые я выполняю десериализацию, все довольно просто - существует взаимно однозначное отношение между полями структур и свойствами в моем файле YAML. В некоторых...
540 просмотров
schedule 15.06.2023

Мок-экземпляр внутри реализации serde
Я пытаюсь реализовать пользовательскую функцию/метод десериализации, который использует некоторые внешние функции. Функция создает экземпляр и использует его методы. Он работает нормально, но я не могу понять, как издеваться над сервисом в тестах....
71 просмотров
schedule 30.08.2022