web-dev-qa-db-fra.com

Génération d'un schéma JSON à partir de la classe C #

Existe-t-il un moyen de générer par programme un schéma JSON à partir d'une classe C #?

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

30
Ravi Gupta

Une autre option qui prend en charge la génération du schéma JSON 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();
19
Rico Suter
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
Daniel

Pour ceux qui atterrissent ici de Google à la recherche de l'inverse
(générer la classe C # à partir de JSON) - J'utilise ces bons outils en ligne:

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

XML:
http://xmltocsharp.azurewebsites.net/
(Source: https://github.com/msyoung/XmlToCSharp )

1
Stefan Steiger