DevelApp.JsonSchemaBuilder 1.0.9

There is a newer version of this package available.
See the version list below for details.
dotnet add package DevelApp.JsonSchemaBuilder --version 1.0.9                
NuGet\Install-Package DevelApp.JsonSchemaBuilder -Version 1.0.9                
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="DevelApp.JsonSchemaBuilder" Version="1.0.9" />                
For projects that support PackageReference, copy this XML node into the project file to reference the package.
paket add DevelApp.JsonSchemaBuilder --version 1.0.9                
#r "nuget: DevelApp.JsonSchemaBuilder, 1.0.9"                
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
// Install DevelApp.JsonSchemaBuilder as a Cake Addin
#addin nuget:?package=DevelApp.JsonSchemaBuilder&version=1.0.9

// Install DevelApp.JsonSchemaBuilder as a Cake Tool
#tool nuget:?package=DevelApp.JsonSchemaBuilder&version=1.0.9                

JsonSchemaBuilder

Simple Json Schema builder to make it faster to combine in code and to generate code for the schema making it possible to use schema first.

Why another code generation tool from Json Schema ? Mainly the ones made are either supporting a too old version of Json Schema or generated code with the wrong structure. I also needed dynamic code generation to make dynamic API based on defined messages for making dynamic MVC controller for a message based system so that an API can be supported on the system for others to interface with.

This has mainly been made to support my Workflow project which works on schema first principle.

Schema parts supported

My intention is to support all parts of the official Json Schema Draft 7 and some special formats that are used often

  • Array

  • Boolean

  • Date

  • DateTime

  • Email

  • Integer

  • Number

  • Object

  • Schema

    This is a bit different in that it only wraps one of the other parts as a top part and otherwise handles definitions as they can only be handled on the schema level

  • String

  • Time

  • UriReference

    This has the limitation that it does not get referenced schemas and expect referenced schemas to be located locally. References can only be referencing part of definitions or entire schema.

Code generation

Code generation is built based on the above schema parts

Supported languages

  • C#

Planned language support

  • PHP
  • TypeScript
  • VB
  • Java
  • TSQL DDL for Database First approach to development
  • C# Entities for Code First approach to development

TODO

  • Create Email data class (with System.Net.Mail.MailAddress as inner?)
  • Create DataString data class to replace string ?
  • Add implicit casts in classes
  • Add Base64String with conversions
  • More intelligent testing if possible for serialization of export formats
  • Support for AnyOf, OneOf and AllOf (last done through conversion)
  • C#: Expand support for serializer other than Newtonsoft version
    • Microsoft own
    • Akka.Net serializer Hyperion
  • Support for later than Draft 7 schema
  • Use of Microsoft own serializer and json-everything instead of Manatee.Json
  • Better support for UriReference
Product Compatible and additional computed target framework versions.
.NET net5.0 was computed.  net5.0-windows was computed.  net6.0 was computed.  net6.0-android was computed.  net6.0-ios was computed.  net6.0-maccatalyst was computed.  net6.0-macos was computed.  net6.0-tvos was computed.  net6.0-windows was computed.  net7.0 was computed.  net7.0-android was computed.  net7.0-ios was computed.  net7.0-maccatalyst was computed.  net7.0-macos was computed.  net7.0-tvos was computed.  net7.0-windows was computed.  net8.0 was computed.  net8.0-android was computed.  net8.0-browser was computed.  net8.0-ios was computed.  net8.0-maccatalyst was computed.  net8.0-macos was computed.  net8.0-tvos was computed.  net8.0-windows was computed. 
.NET Core netcoreapp2.0 was computed.  netcoreapp2.1 was computed.  netcoreapp2.2 was computed.  netcoreapp3.0 was computed.  netcoreapp3.1 was computed. 
.NET Standard netstandard2.0 is compatible.  netstandard2.1 was computed. 
.NET Framework net461 was computed.  net462 was computed.  net463 was computed.  net47 was computed.  net471 was computed.  net472 was computed.  net48 was computed.  net481 was computed. 
MonoAndroid monoandroid was computed. 
MonoMac monomac was computed. 
MonoTouch monotouch was computed. 
Tizen tizen40 was computed.  tizen60 was computed. 
Xamarin.iOS xamarinios was computed. 
Xamarin.Mac xamarinmac was computed. 
Xamarin.TVOS xamarintvos was computed. 
Xamarin.WatchOS xamarinwatchos was computed. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.

NuGet packages (1)

Showing the top 1 NuGet packages that depend on DevelApp.JsonSchemaBuilder:

Package Downloads
DevelApp.Workflow.Core

Interfaces for DevelApp.Workflow which is an oppinionated Workflow for Akka.Net making it easy to handle workflows

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last updated
1.0.21 1,267 12/23/2020
1.0.20 406 12/22/2020
1.0.19 385 12/22/2020
1.0.18 456 12/22/2020
1.0.16 419 12/20/2020
1.0.15 380 12/20/2020
1.0.14 458 12/20/2020
1.0.13 489 12/20/2020
1.0.12 506 12/19/2020
1.0.11 403 12/18/2020
1.0.10 405 12/17/2020
1.0.9 408 12/15/2020
1.0.8 463 11/13/2020
1.0.5 416 11/11/2020
1.0.4 1,401 11/10/2020
1.0.3 1,064 11/6/2020