有没有办法以编程方式从 C# 类生成 JSON 模式?
问问题
40707 次
4 回答
38
另一个支持生成 JSON Schema 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();
于 2015-10-12T12:32:53.837 回答
3
JsonSchemaGenerator js = new JsonSchemaGenerator();
var schema = js.Generate(typeof(Person));
schema.Title = typeof(Person).Name;
using (StreamWriter fileWriter = File.CreateText(filePath))
{
fileWriter.WriteLine(schema);
}
于 2017-08-11T21:59:55.347 回答
0
对于那些从谷歌搜索反向
(从 JSON 生成 C# 类)登陆这里的人 - 我使用那些优秀的在线工具:
JSON: http:
//json2csharp.com/
(来源:http: //jsonclassgenerator.codeplex.com/)
XML: http:
//xmltocsharp.azurewebsites.net/
(来源:https ://github.com/msyoung/XmlToCSharp )
于 2015-09-06T12:01:37.207 回答
0
这在Json.NET中通过Newtonsoft.Json.Schema NuGet 包得到支持。有关如何使用它的说明可以在官方文档中找到,但我还在下面提供了一个简单的示例。
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" ]
//}
于 2021-10-12T13:12:59.730 回答