<PackageReference Include="NJsonSchema" Version="11.3.2" />

NJsonSchema.Generation.JsonSchemaGenerator

public class JsonSchemaGenerator
Generates a JsonSchema object for a given type.
namespace NJsonSchema.Generation { public class JsonSchemaGenerator { public JsonSchemaGeneratorSettings Settings { get; } public JsonSchemaGenerator(JsonSchemaGeneratorSettings settings); public static JsonSchema FromType<[Nullable(2)] TType>(JsonSchemaGeneratorSettings settings); public static JsonSchema FromType(Type type, JsonSchemaGeneratorSettings settings); public JsonSchema Generate(Type type); public JsonSchema Generate(Type type, JsonSchemaResolver schemaResolver); public TSchemaType Generate<[Nullable(0)] TSchemaType>(Type type, JsonSchemaResolver schemaResolver) where TSchemaType : JsonSchema, new; public JsonSchema Generate(ContextualType contextualType, JsonSchemaResolver schemaResolver); public TSchemaType Generate<[Nullable(0)] TSchemaType>(ContextualType contextualType, JsonSchemaResolver schemaResolver) where TSchemaType : JsonSchema, new; public void Generate<[Nullable(0)] TSchemaType>(TSchemaType schema, Type type, JsonSchemaResolver schemaResolver) where TSchemaType : JsonSchema, new; public virtual void Generate<[Nullable(0)] TSchemaType>(TSchemaType schema, ContextualType contextualType, JsonSchemaResolver schemaResolver) where TSchemaType : JsonSchema, new; public TSchemaType GenerateWithReference<[Nullable(0)] TSchemaType>(ContextualType contextualType, JsonSchemaResolver schemaResolver, Action<TSchemaType, JsonSchema> transformation = null) where TSchemaType : JsonSchema, new; public TSchemaType GenerateWithReferenceAndNullability<[Nullable(0)] TSchemaType>(ContextualType contextualType, JsonSchemaResolver schemaResolver, Action<TSchemaType, JsonSchema> transformation = null) where TSchemaType : JsonSchema, new; public virtual TSchemaType GenerateWithReferenceAndNullability<[Nullable(0)] TSchemaType>(ContextualType contextualType, bool isNullable, JsonSchemaResolver schemaResolver, Action<TSchemaType, JsonSchema> transformation = null) where TSchemaType : JsonSchema, new; public virtual void ApplyDataAnnotations(JsonSchema schema, JsonTypeDescription typeDescription); public virtual object ConvertDefaultValue(ContextualType type, object defaultValue); public virtual object GenerateExample(ContextualType type); public virtual object GenerateExample(ContextualAccessorInfo accessorInfo); protected virtual void GenerateObject(JsonSchema schema, JsonTypeDescription typeDescription, JsonSchemaResolver schemaResolver); public virtual string[] GetTypeProperties(Type type); protected virtual void GenerateArray<[Nullable(0)] TSchemaType>(TSchemaType schema, JsonTypeDescription typeDescription, JsonSchemaResolver schemaResolver) where TSchemaType : JsonSchema, new; protected virtual void GenerateDictionary<[Nullable(0)] TSchemaType>(TSchemaType schema, JsonTypeDescription typeDescription, JsonSchemaResolver schemaResolver) where TSchemaType : JsonSchema, new; protected virtual void GenerateEnum(JsonSchema schema, JsonTypeDescription typeDescription); public bool IsAbstractProperty(ContextualMemberInfo memberInfo); public void AddProperty(JsonSchema parentSchema, ContextualAccessorInfo property, JsonTypeDescription propertyTypeDescription, string propertyName, Attribute requiredAttribute, bool hasRequiredAttribute, bool isNullable, object defaultValue, JsonSchemaResolver schemaResolver); public virtual bool IsPropertyIgnored(ContextualAccessorInfo accessorInfo, Type parentType); public bool IsPropertyIgnoredBySettings(ContextualAccessorInfo accessorInfo); public dynamic GetDataMemberAttribute(ContextualAccessorInfo accessorInfo, Type parentType); } }