C# クラスから JSON スキーマをプログラムで生成する方法はありますか?
http://www.jsonschema.net/を使用して手動でできること
C# クラスから JSON スキーマをプログラムで生成する方法はありますか?
http://www.jsonschema.net/を使用して手動でできること
JSON スキーマ v4 の生成をサポートする別のオプションはNJsonSchemaです。
var schema = JsonSchema.FromType<Person>();
var schemaJson = schema.ToJson();
ライブラリはNuGet経由でインストールできます。
NJsonSchema v9.4.3+ の更新:
using NJsonSchema;
var schema = await JsonSchema.FromTypeAsync<Person>();
var schemaJson = schema.ToJson();
逆にGoogle検索からここにたどり着いた人
(JSONからC#クラスを生成する)-私はこれらの優れたオンラインツールを使用します:
JSON:
http://json2csharp.com/
(ソース: http://jsonclassgenerator.codeplex.com/ )
XML:
http://xmltocsharp.azurewebsites.net/
(ソース: https://github.com/msyoung/XmlToCSharp )
これは、 Newtonsoft.Json.Schema NuGet パッケージを介してJson.NETでサポートされています。使い方の説明は公式ドキュメントにありますが、以下に簡単な例も含めました。
JSchemaGenerator generator = new JSchemaGenerator();
JSchema schema = generator.Generate(typeof(Person));
Console.WriteLine(schema.ToString());
//{
// "type": "object",
// "properties": {
// "Name": {
// "type": [ "string", "null" ]
// },
// "Age": { "type": "integer" }
// },
// "required": [ "Name", "Age" ]
//}