Вопросы по теме 'serde'
Clap не может проанализировать файл YAML: не удалось преобразовать значение YAML String (1) в строку
Я использую файл YAML для определения интерфейса командной строки. Я разбираю файл с помощью макроса Clap load_yaml! , который некоторое время работал нормально:
#[macro_use]
extern crate clap;
use clap::{App, ArgMatches};
fn main() {
let...
891 просмотров
schedule
02.11.2021
Может ли Serde десериализовать JSON до одного из набора типов в зависимости от значения поля?
У меня есть группа разных сообщений, которые поступают как JSON и могут быть выделены на основе одного поля, но тогда каждый вариант имеет различную коллекцию вторичных полей:
#[derive(Debug, Serialize, Deserialize)]
struct MessageOne {
///op...
2119 просмотров
schedule
20.10.2021
Как десериализовать NaN как `nan` с помощью serde_json?
У меня есть типы данных, которые выглядят так:
#[derive(Serialize, Deserialize, Debug)]
#[serde(rename_all = "camelCase")]
pub struct Matrix {
#[serde(rename = "numColumns")]
pub num_cols: usize,
#[serde(rename = "numRows")]
pub...
631 просмотров
schedule
14.09.2021
Как использовать serde skip_serializing_if с пустыми срезами?
Можно сделать #[serde(skip_serializing_if = "Vec::is_empty")] для Vec s, но что эквивалентно для срезов?
276 просмотров
schedule
18.10.2021
Как использовать собственный десериализатор serde для временных меток хронографа?
Я пытаюсь разобрать JSON в структуру с полем chrono::DateTime . В JSON есть временные метки, сохраненные в настраиваемом формате, для которого я написал десериализатор.
Как мне подключить их и заставить работать с помощью...
3404 просмотров
schedule
08.10.2021
Десериализовать файл с помощью serde_json во время компиляции
В начале своей программы я читаю данные из файла:
let file = std::fs::File::open("data/games.json").unwrap();
let data: Games = serde_json::from_reader(file).unwrap();
Я хотел бы знать, как это можно сделать во время компиляции по следующим...
1758 просмотров
schedule
22.11.2021
Как переименовать все ключи в serde_json :: Map?
Допустим, у меня есть &mut std::collections::HashMap , и я хочу перевести все клавиши в верхний регистр. Следующий код делает свое дело:
use std::collections::HashMap;
fn keys_to_upper<T>(map: &mut HashMap<String, T>) {...
182 просмотров
schedule
07.09.2021
Есть ли способ указать имена полей для serde во время выполнения?
Я пытаюсь десериализовать структуру JSON с помощью serde , но где некоторые поля имена могут быть разными в разных средах. Например:
В dev:
{
"fields": {
"field004": "This is the title",...
114 просмотров
schedule
06.12.2021
Как я могу реализовать serde для типа, которым я не владею, и чтобы он поддерживал составные / обертки / типы коллекций
Этот вопрос похож на Как мне реализовать черту, которой я не владею, для типа, которым я не владею?
Я написал сериализатор для Date, используя механизм, описанный в документации, с моим модулем, обертывающим функцию сериализации.
pub mod...
225 просмотров
schedule
20.09.2021
Почему возникает ошибка (завершающие символы) при попытке десериализации файла JSON в хэш-карту?
По сути, я пытаюсь десериализовать файл JSON в хэш-карту ‹String, String›, используя ящик serde, но. Файл JSON:
"
[
{
"orchard_name": "Happy Apple",
"tons": "5"...
75 просмотров
schedule
13.10.2021
Как я могу отсортировать поля в алфавитном порядке при сериализации с помощью serde?
У меня есть API, который требует, чтобы поля объекта были отсортированы в алфавитном порядке, потому что структура должна быть хеширована.
В Java / Jackson вы можете установить флаг в сериализаторе: MapperFeature.SORT_PROPERTIES_ALPHABETICALLY ....
98 просмотров
schedule
16.09.2021
json не найден при десериализации ответа reqwest
Я новичок в Rust, и я просто не могу найти решение этой проблемы. Я пытаюсь получить ответ на запрос получения как json.
#[macro_use]
extern crate serde;
extern crate serde_derive;
extern crate reqwest;
use reqwest::Error;
fn main(){...
1053 просмотров
schedule
22.02.2022
Как десериализовать JSON в структуру со значением Box ‹[u8]›?
У меня есть структура, которая должна включать поле байтов, и я пытаюсь десериализовать ее из JSON.
Когда я использую &'a [u8] , это работает, но тогда мне нужно добавить аннотацию времени жизни к этой структуре, структуре, которая ее включает,...
147 просмотров
schedule
02.03.2022
Как я могу десериализовать перечисление с помощью необязательного внутреннего тега?
Я использую Serde для десериализации пользовательского файла конфигурации, написанного на YAML. Файл может содержать определения различных типов, которые я представляю как перечисления с внутренними тегами:
OfKindFoo:
kind: Foo
bar: bar;...
468 просмотров
schedule
09.03.2022
Реализация универсального шестнадцатеричного десериализатора с разделителями по длине в Serde
Я хочу использовать Serde , чтобы взять на себя как можно большую ответственность за хорошо отформатированный ввод, отправленный пользователем. У меня есть несколько полей, для которых требуются шестнадцатеричные значения конкретной, разной длины на...
287 просмотров
schedule
16.03.2022
Как преобразовать поле в строку с помощью Serde?
У меня есть настраиваемое поле в моем JSON , которое становится динамическим и должно быть проанализировано для структуры, которая имеет поле HashMap , подобное следующему:
#[macro_use]
extern crate serde_derive;
extern crate serde;
extern...
3108 просмотров
schedule
12.03.2022
Есть ли способ сделать serde_json строго десериализованным?
Я имею в виду, что если два объекта перекрываются по некоторым атрибутам, есть ли способ попытаться сопоставить все из них? Например:
use serde::{Serialize, Deserialize};
use serde_json; // 1.0.47; // 1.0.104
#[derive(Serialize, Deserialize,...
211 просмотров
schedule
04.04.2022
Наследование Serde's Serialize или Deserialize заставляет универсальный тип быть сериализуемым, хотя это не обязательно.
Мой тип A , который может содержать все, что реализует trait Trait , является сериализуемым, хотя тип, реализующий черту Trait , может не быть. В моем случае этого не может быть - это закрытый асимметричный ключ:
extern crate serde;...
923 просмотров
schedule
20.04.2022
Есть ли способ сгруппировать поля структуры при сериализации с помощью Serde, например, обратный атрибуту flatten?
Serde имеет flatten атрибут , который выравнивает один уровень структуры данных. Я хочу обратное: способ группировки атрибутов.
У меня есть структура
struct Foo {
owner: Owner,
alpha: Server,
beta: Server,
}
и я хочу, чтобы...
79 просмотров
schedule
04.05.2022
Я получаю привязку признака `T: sns_pub :: _ IMPL_DESERIALIZE_FOR_Message :: _ serde :: Serialize` не выполняется
Я пытаюсь сериализовать объект с помощью общего члена. Я получаю ошибку 'equired из-за требований к имплицитности sns_pub::_IMPL_DESERIALIZE_FOR_Message::_serde::Serialize для sns_pub::Message<T>
#[derive(Debug, PartialEq, Serialize,...
204 просмотров
schedule
08.05.2022