Génération du schéma JSON à partir de la Classe C

y a-t-il un moyen de générer programmatiquement un schéma JSON à partir d'une Classe C#?

quelque chose que nous pouvons faire manuellement en utilisant http://www.jsonschema.net/

22
demandé sur ΩmegaMan 2013-04-03 13:01:43

3 réponses

une autre option qui supporte la génération de JSON Schema v4 est NJsonSchema:

var schema = JsonSchema4.FromType<Person>();
var schemaJson = schema.ToJson();

la bibliothèque peut être installée via NuGet.

mise à jour pour NJsonSchema v9.4.3+:

using NJsonSchema;

var schema = await JsonSchema4.FromTypeAsync<Person>();
var schemaJson = schema.ToJson();
14
répondu Rico Suter 2017-08-03 07:59:42

Pour ceux qui débarquent ici à partir de google recherche de l'inverse

(générer les classes C# à partir de JSON) - je utiliser ces beaux outils en ligne:

JSON:

http://json2csharp.com/

(Source: http://jsonclassgenerator.codeplex.com/)

XML:

http://xmltocsharp.azurewebsites.net/

(Source: https://github.com/msyoung/XmlToCSharp)

2
répondu Stefan Steiger 2016-01-13 13:43:18
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
répondu Daniel 2017-08-14 22:23:13