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())

Implementors