Можно ли каким-либо образом создать JSON-схему из класса С#? Что-то, что мы можем сделать вручную, используя http://www.jsonschema.net/
Создание схемы JSON из класса С#
Ответ 1
Вы можете использовать Json.NET для этого. Ознакомьтесь с этой статьей: http://sixgun.wordpress.com/2012/02/09/using-json-net-to-generate-jsonschema/
Ответ 2
Другой вариант, который поддерживает создание JSON Schema v4, NJsonSchema:
var schema = JsonSchema4.FromType<Person>();
var schemaJson = schema.ToJson();
Библиотека может быть установлена через NuGet.
Обновление для NJsonSchema v9.4.3 +:
using NJsonSchema;
var schema = await JsonSchema4.FromTypeAsync<Person>();
var schemaJson = schema.ToJson();
Ответ 3
Для тех, кто приземляется здесь из Google, ищущего обратное
(сгенерируйте класс С# из JSON) - я использую эти прекрасные онлайн-инструменты:
JSON:
http://json2csharp.com/
(Источник: http://jsonclassgenerator.codeplex.com/)
XML:
http://xmltocsharp.azurewebsites.net/
(Источник: https://github.com/msyoung/XmlToCSharp)
Ответ 4
JsonSchemaGenerator js = new JsonSchemaGenerator();
var schema = js.Generate(typeof(Person));
schema.Title = typeof(Person).Name;
using (StreamWriter fileWriter = File.CreateText(filePath))
{
fileWriter.WriteLine(schema);
}