Esiste un modo per generare in modo problematico uno schema JSON da una classe C#? Qualcosa che possiamo fare manualmente usando http://www.jsonschema.net/Generazione dello schema JSON dalla classe C#
risposta
È possibile utilizzare Json.NET per questo. Dai un'occhiata a questo articolo: http://sixgun.wordpress.com/2012/02/09/using-json-net-to-generate-jsonschema/
Ma consentirà solo di generare schema json con l'attributo richiesto e non altri come maxLength, pattern (regex per convalidare email), ecc. Quindi stavo cercando per un altro modo più generico. –
L'ultima versione di Json.NET Schema supporta gli attributi di annotazione dei dati. Ti permettono di specificare maxLength, maximum, pattern, format, ecc. –
Eventuali opzioni di licenza non commerciale in circolazione? Vuoi generare schema json dalle classi C#. JSON.net è commerciale per le aziende con più di 10 dipendenti e non può sopportare il fastidio di ottenere una licenza per il mio lavoro metallico ;-) – nishant
Per coloro che sbarcano qui da google a cercare la retromarcia
(generare la classe C# da JSON) - io uso quelle belle strumenti online:
JSON:
http://json2csharp.com/
(fonte: http://jsonclassgenerator.codeplex.com/)
XML:
http://xmltocsharp.azurewebsites.net/
(fonte: https://github.com/msyoung/XmlToCSharp)
Da inverso, lo strumento jsonclassgenerator è ottimo. Un'altra opzione semplice è utilizzare Modifica-> Incolla speciale-> Incolla JSON come classi in Visual Studio. Questo crea anche una classe! Piuttosto a portata di mano a volte. – sandiejat
@sandiejat: bello sapere. Mi chiedo da che versione di VS. –
Sembra che 2012.2 RC l'abbia portato. E noi eravamo impegnati a farlo in modo difficile! :) https://blogs.msdn.microsoft.com/webdev/2012/12/18/paste-json-as-classes-in-asp-net-and-web-tools-2012-2-rc/ – sandiejat
Un'altra opzione che supporta la generazione di JSON Schema v4 è NJsonSchema:
var schema = JsonSchema4.FromType<Person>();
var schemaJson = schema.ToJson();
La libreria può essere installato tramite NuGet.
Aggiornamento per NJsonSchema v9.4.3 +:
using NJsonSchema;
var schema = await JsonSchema4.FromTypeAsync<Person>();
var schemaJson = schema.ToJson();
è FromType un'estensione? Metodo non trovato nella versione NJsonSchema 9.4.3. Meglio ancora, un elenco packages.config e quali spazi dei nomi sono usati sarebbe molto apprezzato. – granadaCoder
Per i futuri lettori. Sono stato in grado di utilizzare la data di questo post per abbinarla a una versione del pacchetto. Ecco i miei pacchetti.config. Nota, questa è una versione molto vecchia rispetto a tutti i pacchetti disponibili per NJsonSchema. xml version = "1.0" encoding = "utf-8"?>
Considerare l'aggiornamento del proprio esempio all'ultima versione del pacchetto. Lasciare entrambi i campioni di codice con l'identificazione del pacchetto corretto. Grazie. – granadaCoder
JsonSchemaGenerator js = new JsonSchemaGenerator();
var schema = js.Generate(typeof(Person));
schema.Title = typeof(Person).Name;
using (StreamWriter fileWriter = File.CreateText(filePath))
{
fileWriter.WriteLine(schema);
}
- 1. Convalida dello schema JSON
- 2. Creazione schema JSON dalla classe Java
- 3. Genera schema JSON dalla classe java
- 4. Generazione di dati fittizi JSON Python dallo schema JSON
- 5. Libreria di convalida dello schema JSON
- 6. Convalida dello schema JSON utilizzando java
- 7. express.js - miglior validatore dello schema JSON POST
- 8. Convalida dello schema Json in Spring REST API
- 9. c convalida dello schema # XML
- 10. come forzare classi dello schema compilato per estendere classe specifica dello schema di fuori
- 11. java.lang.NoSuchFieldError: USE_DEFAULTS generato durante la convalida dello schema json tramite json schema validator
- 12. generazione di uno schema AVRO da un documento JSON
- 13. Schema Mongoose all'interno dello schema
- 14. Esiste uno schema json di schema json?
- 15. convalida dello schema XML
- 16. Convalidare l'oggetto JSON utilizzando una definizione dello schema
- 17. Come utilizzare le definizioni dello schema JSON (progetto-04)
- 18. Utilizzo dello schema Let in
- 19. Validazione dello schema del kit API Router
- 20. C# ereditarietà. classe derivata dalla classe Base
- 21. C# classe instantiate dalla stringa
- 22. C++ codice allo schema di classe
- 23. Strategia di aggiornamento dello schema SQL Azure
- 24. iOS: serializza/deserializza JSON complesso genericamente dalla classe NSObject
- 25. xjc solo per parte dello schema
- 26. Genera schema XML dalla classe Java (o viceversa)
- 27. Convertitori schema JSON Schema in GraphQL
- 28. Schema JSON: campo obbligatorio
- 29. ha uno schema JSON
- 30. Dizionario simile schema JSON
Forse cercavi "programmazione"? –
Non voglio correggerlo. È troppo perfetto – Joe
Avere un registro a questo: http://csharp2json.azurewebsites.net/ –