Skip to main content

JsonSchema

Struct JsonSchema 

Source
pub struct JsonSchema {
    pub title: Option<String>,
    pub description: Option<String>,
    pub type: Option<String>,
    pub properties: Option<BTreeMap<String, Box<JsonSchema>>>,
    pub required: Option<Vec<String>>,
    pub optional: Option<bool>,
    pub enum: Option<Vec<Value>>,
    pub items: Option<Box<JsonSchema>>,
    pub additional_properties: Option<Value>,
    pub default: DefaultKeyword,
    pub minimum: Option<Value>,
    pub maximum: Option<Value>,
}
Expand description

Root or nested JSON Schema object.

Only the schema fields used by the generator are modeled. Extra keys in the JSON are ignored via serde’s default behavior. Uses BTreeMap for deterministic property ordering (alphabetical by key).

Fields§

§title: Option<String>§description: Option<String>§type: Option<String>§properties: Option<BTreeMap<String, Box<JsonSchema>>>§required: Option<Vec<String>>§optional: Option<bool>

Non-standard / draft-dependent keyword. We explicitly recognize it so it is not treated as an unknown key, but we ignore it for codegen; required vs optional is determined only by the object-level required array. Future versions may add strict spec adherence or settings to allow/disallow or interpret such fields.

§enum: Option<Vec<Value>>§items: Option<Box<JsonSchema>>§additional_properties: Option<Value>§default: DefaultKeyword§minimum: Option<Value>§maximum: Option<Value>

Trait Implementations§

Source§

impl Debug for JsonSchema

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl<'de> Deserialize<'de> for JsonSchema

Source§

fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>
where __D: Deserializer<'de>,

Deserialize this value from the given Serde deserializer. Read more

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
Source§

impl<T> DeserializeOwned for T
where T: for<'de> Deserialize<'de>,