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

Как я могу объединить два объекта 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

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

Как я могу принять несколько имен десериализации для одного и того же поля Serde?
Я пытаюсь использовать Serde для десериализации файлов JSON ( serde-json ) и XML ( serde-xml-rs ) на основе следующей структуры: use serde_derive::Deserialize; #[derive(Debug, Clone, PartialEq, Deserialize)] pub struct SchemaConfig { pub...
2204 просмотров
schedule 14.11.2022

Как я могу вернуть что-то значимое из универсальной функции, если возвращать нечего?
Я создаю библиотеку на Rust, в которой есть метод send , выполняющий HTTP-запросы к локальному RPC-серверу с помощью reqwest. Этот метод возвращает универсальный тип R в Result , где R: DeserializeOwned . После создания правильных типов для...
239 просмотров
schedule 23.08.2022

Как десериализовать структуру через ее собственный «новый» конструктор?
Я хочу десериализовать приведенную ниже структуру, но используя конструктор new для проверки десериализованных полей: #[derive(Deserialize)] pub struct Timestamp { values: Vec<u32>, } impl Timestamp { pub fn new(values:...
147 просмотров
schedule 10.02.2023

Как эффективно извлечь часть JSON как Vec без промежуточных структур?
У меня есть содержимое JSON, в котором, глубоко вложенный, есть массив чисел, который я хочу извлечь. Я бы не хотел создавать промежуточные структуры, поэтому попробовал следующее: ... get f let json = serde_json::from_reader::<_,...
795 просмотров
schedule 28.04.2022

Реализуйте десериализацию для структуры с помощью Box
Структура, содержащая Box в качестве переменной-члена: type Item = dyn Fn() -> Result<(), Box<dyn std::error::Error + Send + Sync>>; struct Inner { pub data: Box<Item>, } // a function, like the type: Item fn parse() ->...
373 просмотров
schedule 27.05.2022