【发布时间】:2018-06-14 04:16:45
【问题描述】:
我正在寻找一个类或工具来将 JSON 模式转换为 C# 类作为预构建步骤。
我找到了几个“自制”解决方案(jsonschema.net、NJsonSchema、...),但更愿意使用一些与公司/项目相关的成熟/官方代码。我知道 Newtonsoft.json.Schema 包只能反过来(C# Class -> JSON)
我惊讶地发现 Visual Studio 能够使用“编辑 -> 选择性粘贴 -> 将 JSON 粘贴为类”开箱即用地执行此操作。此功能背后的代码/类/可执行文件/dll 在预构建步骤中是否可以通过编程方式访问?
【问题讨论】:
-
在运行时应该如何工作?如果您要在运行时创建该类,您如何在代码中访问其属性?如果您需要在运行时执行此操作,
dynamic还不够吗?如果您在编写代码时需要它,那么使用 Paste JSON as classes 有什么问题? -
好的,我删除了问题的运行时部分,这可能是一个不同的问题。仅仅“将 JSON 粘贴为类”对我们来说并不是一个好的解决方案。我们希望使用 JSON 模式(如 IDL)为我们的接口定义提供一个中心位置,然后在预构建期间生成 C# 类。
-
你用过json2csharp.com吗?
-
NJsonSchema 看起来像一个成熟的项目。它有命令行工具 nswag.exe,可用于生成 csharp 代码,如下所示:“nswag jsonschema2csclient / input:JsonSchema.json / output:MyClasses.cs”
标签: c# json json.net jsonschema njsonschema