DevelApp.JsonSchemaBuilder
1.0.9
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
<PackageReference Include="DevelApp.JsonSchemaBuilder" Version="1.0.9" />
paket add DevelApp.JsonSchemaBuilder --version 1.0.9
#r "nuget: DevelApp.JsonSchemaBuilder, 1.0.9"
// 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 | Versions 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. |
-
.NETStandard 2.0
- Ardalis.SmartEnum (>= 2.0.0)
- DevelApp.Utility (>= 1.0.5)
- manatee.json (>= 13.0.3)
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,275 | 12/23/2020 |
1.0.20 | 410 | 12/22/2020 |
1.0.19 | 389 | 12/22/2020 |
1.0.18 | 460 | 12/22/2020 |
1.0.16 | 423 | 12/20/2020 |
1.0.15 | 384 | 12/20/2020 |
1.0.14 | 462 | 12/20/2020 |
1.0.13 | 493 | 12/20/2020 |
1.0.12 | 510 | 12/19/2020 |
1.0.11 | 407 | 12/18/2020 |
1.0.10 | 409 | 12/17/2020 |
1.0.9 | 413 | 12/15/2020 |
1.0.8 | 467 | 11/13/2020 |
1.0.5 | 420 | 11/11/2020 |
1.0.4 | 1,405 | 11/10/2020 |
1.0.3 | 1,068 | 11/6/2020 |