是否有与 xsd.exe 等效的 JSON?
Posted
技术标签:
【中文标题】是否有与 xsd.exe 等效的 JSON?【英文标题】:Is there a JSON equivalent of xsd.exe? 【发布时间】:2018-04-30 01:06:31 【问题描述】:我能够使用 xsd.exe 为 MyDataContract.dll 程序集生成 XSD
xsd.exe MyDataContract.dll
这将生成一个 schema0.xsd,其中包含程序集中所有类型的定义。
有 JSON 的等价物吗?
我查看了 Newtonsoft Json.NET Schema,但这似乎只提供了一个 API,而不是一个可执行文件。此外,它似乎在“类型”级别工作,无法为程序集中的所有类型生成 JSON 模式。
我想生成 JSON 架构作为我的 CI 构建的一部分。
我想我可以使用带有反射等的 Json.Net Schema 构建一个控制台应用程序来实现这一点,但令人惊讶的是,还没有这样的程序。
【问题讨论】:
为什么不在额外的步骤中将 xsd 转换为 json? github.com/andrewbober/xsd2jsonschema 因为 XSD.exe 了解 .Net XmlSerializer 的工作原理。同样,svcutil.exe 了解 DataContractSerializer 的工作原理,并为 XSD.exe 生成不同的 XSD。真的,我想使用 JsonSchema.exe 生成我的 JSON 模式文件,并使用 JsonConvert 进行序列化。但是 JsonSchema.exe 不存在。将 XSD 转换为 JSON 架构文件几乎肯定会导致架构定义不准确。 【参考方案1】:如果你有一个 Web API 项目,可以考虑添加 Swashbuckle,它可以生成 swagger 架构(我相信现在称为 OpenAPI)并且可以生成一个漂亮的 UI:
在 nuget 上: https://www.nuget.org/packages/Swashbuckle/
规格: https://swagger.io/specification/
https://github.com/domaindrivendev/Swashbuckle
不确定这是否有帮助,因为您需要一个命令行工具。
【讨论】:
以上是关于是否有与 xsd.exe 等效的 JSON?的主要内容,如果未能解决你的问题,请参考以下文章
是否有与 FontUtilities.getCompositeFontUIResource(Font) 等效的非专有等效项?