是否有与 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) 等效的非专有等效项?

是否有与 RecyclerView 等效的 addHeaderView?

是否有与 MySql 等效的 Profiler? [关闭]

是否有与 Amazon S3 等效的开源软件? [关闭]

是否有与 Ruby 符号等效的 Python?

是否有与 Bootstrap Scrollspy 等效的 Flutter?