Trait serde_valid::json::FromJson
source · [−]pub trait FromJson where
Self: Sized, {
fn from_json_reader<R>(reader: R) -> Result<Self, Error<Error>>
where
R: Read;
fn from_json_slice(slice: &[u8]) -> Result<Self, Error<Error>>;
fn from_json_str(str: &str) -> Result<Self, Error<Error>>;
fn from_json_value(value: Value) -> Result<Self, Error<Error>>;
}
Required Methods
Convert from json reader.
ⓘ
use std::fs::File;
use serde::Deserialize;
use serde_valid::Validate;
use serde_valid::json::FromJson;
#[derive(Debug, Validate, Deserialize)]
struct TestStruct {
#[validate(maximum = 2000)]
val: i32,
}
let s = TestStruct::from_json_reader(File::open("foo.txt").unwrap());
assert!(s.is_ok())
Convert from json slice.
use serde::Deserialize;
use serde_valid::Validate;
use serde_valid::json::FromJson;
#[derive(Debug, Validate, Deserialize)]
struct TestStruct {
#[validate(maximum = 2000)]
val: i32,
}
let s = TestStruct::from_json_slice(b"{ \"val\": 1234 }");
assert!(s.is_ok())
Convert from json str.
use serde::Deserialize;
use serde_valid::Validate;
use serde_valid::json::{json, FromJson};
#[derive(Debug, Validate, Deserialize)]
struct TestStruct {
#[validate(maximum = 2000)]
val: i32,
}
let s = TestStruct::from_json_str(&serde_json::to_string(&json!({ "val": 1234 })).unwrap());
assert!(s.is_ok())
Convert from serde_json::Value
.
use serde::Deserialize;
use serde_valid::Validate;
use serde_valid::json::{json, FromJson};
#[derive(Debug, Validate, Deserialize)]
struct TestStruct {
#[validate(maximum = 2000)]
val: i32,
}
let s = TestStruct::from_json_value(json!({ "val": 1234 }));
assert!(s.is_ok())