pub enum JsonSchema {
Any,
Null,
Bool,
Number,
StringType,
ArrayOf(Box<JsonSchema>),
ObjectWith {
required: Vec<(String, JsonSchema)>,
allow_extra: bool,
},
}Expand description
Simple JSON schema for validation.
Variants§
Any
Any value is accepted.
Null
Must be null.
Bool
Must be a boolean.
Number
Must be a number.
StringType
Must be a string.
ArrayOf(Box<JsonSchema>)
Must be an array where each element matches the inner schema.
ObjectWith
Must be an object with the specified required fields.
Implementations§
Source§impl JsonSchema
impl JsonSchema
Source§impl JsonSchema
impl JsonSchema
Sourcepub fn infer_from(value: &JsonValue) -> Self
pub fn infer_from(value: &JsonValue) -> Self
Infer a JsonSchema from a sample value.
Arrays use the schema of their first element; objects use the schemas of their values.
Sourcepub fn to_schema_string(&self) -> String
pub fn to_schema_string(&self) -> String
Serialize the schema to a human-readable string.
Sourcepub fn to_json_schema_object(&self) -> JsonValue
pub fn to_json_schema_object(&self) -> JsonValue
Generate a JSON Schema draft-07 compatible object.
Trait Implementations§
Source§impl Clone for JsonSchema
impl Clone for JsonSchema
Source§fn clone(&self) -> JsonSchema
fn clone(&self) -> JsonSchema
Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreAuto Trait Implementations§
impl Freeze for JsonSchema
impl RefUnwindSafe for JsonSchema
impl Send for JsonSchema
impl Sync for JsonSchema
impl Unpin for JsonSchema
impl UnsafeUnpin for JsonSchema
impl UnwindSafe for JsonSchema
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<SS, SP> SupersetOf<SS> for SPwhere
SS: SubsetOf<SP>,
impl<SS, SP> SupersetOf<SS> for SPwhere
SS: SubsetOf<SP>,
Source§fn to_subset(&self) -> Option<SS>
fn to_subset(&self) -> Option<SS>
The inverse inclusion map: attempts to construct
self from the equivalent element of its
superset. Read moreSource§fn is_in_subset(&self) -> bool
fn is_in_subset(&self) -> bool
Checks if
self is actually part of its subset T (and can be converted to it).Source§fn to_subset_unchecked(&self) -> SS
fn to_subset_unchecked(&self) -> SS
Use with care! Same as
self.to_subset but without any property checks. Always succeeds.Source§fn from_subset(element: &SS) -> SP
fn from_subset(element: &SS) -> SP
The inclusion map: converts
self to the equivalent element of its superset.