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
impl Debug for JsonSchema
Source§impl<'de> Deserialize<'de> for JsonSchema
impl<'de> Deserialize<'de> for JsonSchema
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
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§
impl Freeze for JsonSchema
impl RefUnwindSafe for JsonSchema
impl Send for JsonSchema
impl Sync for JsonSchema
impl Unpin 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