从 JSON 模式生成 C# 类 [关闭]

2023-12-04

我正在创建一个 C# WCF Web 服务,它以 JSON 格式返回大量数据。 客户端是一个iPad应用程序,目前正在由另一个团队开发,所以我正在研究规范,没有示例数据。
目前,JSON 字符串是由 .net 框架创建的,我的 Web 服务返回一个 C# 对象,其中包含框架使用 DataContracts 序列化的所有信息。

我的问题是通信规范仅包含 JSON 架构文件(基于http://json-schema.org/)。为了方便开发,我想用C#生成相应的类,但由于文件包含的信息相当多,而且有十几个文件,我不太想手动创建这些类。

所以我正在寻找一种工具,可以让我:

  • 从 JSON 架构生成 C# 类。
  • 将 JSON 架构转换为 XSD 文件。然后创建类就会很容易,因为有很多工具可以从 XSD 生成类。

我找到了很多工具来根据 JSON 模式验证 JSON 字符串或从 JSON 字符串生成类,但似乎没有任何帮助我。
JSON.NET但它似乎是一个库而不是一个工具,我没有找到任何有关用它生成类的信息。

因此,如果有人知道一个工具或者知道如何生成这些类(我尝试了一个在 Java 中创建类的工具,但无法使其工作)。


Visual Studio 2017有这个功能。

从菜单中选择“编辑”、“选择性粘贴”、“将 JSON 粘贴为类”。粘贴 JSON 后,Visual Studio 将创建所需的类。

enter image description here

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

从 JSON 模式生成 C# 类 [关闭] 的相关文章

  • 如何在谷歌地图android上显示多个标记

    我想在谷歌地图android上显示带有多个标记的位置 问题是当我运行我的应用程序时 它只显示一个位置 标记 这是我的代码 public class koordinatTask extends AsyncTask
  • 在javascript中解析json - 长数字被四舍五入

    我需要解析一个包含长数字的 json 在 java servlet 中生成 问题是长数字被四舍五入 当执行这段代码时 var s x 6855337641038665531 var obj JSON parse s alert obj x
  • 如何在 32 位或 64 位配置中以编程方式运行任何 CPU .NET 可执行文件?

    我有一个可在 32 位和 64 位处理器上运行的 C 应用程序 我试图枚举给定系统上所有进程的模块 当尝试从 64 位应用程序枚举 32 位进程模块时 这会出现问题 Windows 或 NET 禁止它 我认为如果我可以从应用程序内部重新启动
  • C# 中的合并运算符?

    我想我记得看到过类似的东西 三元运算符 http msdn microsoft com en us library ty67wk28 28VS 80 29 aspx在 C 中 它只有两部分 如果变量值不为空 则返回变量值 如果为空 则返回默
  • JSON:TypeError:Decimal('34.3')不是JSON可序列化的[重复]

    这个问题在这里已经有答案了 我正在运行一个 SQL 查询 它返回一个小数列表 当我尝试将其转换为 JSON 时 出现类型错误 查询 res db execute SELECT CAST SUM r SalesVolume 1000 0 AS
  • 在没有 NAN 的情况下将 pandas DF 转换为 JSON

    我有一个 DF 看起来像 A B C D E 1 1 NaN 1 1 NaN 2 3 4 NaN 当我做 df to json orient records 我得到类似的东西 A 1 B 1 C null D 1 E 1 A null B
  • 在 C# 中读取/写入大型 XML 文件

    我正在开发一个带有 XML 数据库的应用程序 我有很大的 XML 文件 我必须在其中读取和写入数据 问题是我不想将整个 XML 文件加载到内存中 也不想因为性能问题而循环遍历整个文件 因为如果我将整个文件加载到内存中 这将影响应用程序性能
  • 空 catch 与 try-catch 语句中的“catch Exception”相同吗?

    try catch Exception 我可以写吗 try catch 这在 C NET 3 5 中可以吗 代码看起来更好 但我不知道是否相同 他们是not一样的 catch Exception 将仅捕获托管异常 catch 也会捕获非 C
  • ConcurrentBag 中可能存在内存泄漏吗?

    我一直在研究新的并发集合 特别是 ConcurrentBag 引起了我的注意 由于 ConcurrentBag 在每个单独的线程上内部保存一个本地集 使用它来跟踪项目 这意味着当线程本身超出范围时 ConcurrentBag 仍将在内存中引
  • 如何使用 tqdm 实现 JSON 文件加载进度条?

    我正在编写一个用于 JSON 文件处理的 Python 脚本 它基本上分为三个过程 加载 编码和打印 虽然我已经使用 tqdm 轻松创建了用于编码和打印的进度条 但我不知道如何进行加载 我已经彻底阅读了 tqdm 文档 甚至在这里进行了搜索
  • 如何在 MySQL 查询本身中检索 JSON 数组中存储的值?

    我有下表 product id product name image path misc 1 flex http firstpl course level id 19 group id 40067 2 Android http firstp
  • jQuery.getJSON:如何避免在每次刷新时请求 json 文件? (缓存)

    在此示例中 您可以看到生成的 HTML 列表 每次刷新时 脚本都会请求数据文件 ajax test json 并再次构建列表 生成的文件 ajax test json 被静态缓存 但是如何避免在每次刷新时请求此文件 source jquer
  • 访问WCF服务时触发MaxClockSkew

    我有一项 WCF 服务 其一个端点的 MaxClockSkew 配置设置为 23 59 59 但没有安全行为 另一个端点具有相同的 MaxClockSkew 配置和安全配置 问题是当访问非安全端点时不会引发异常 而当访问安全端点时会引发安全
  • 读取google地图返回的JSON数据

    在我的应用程序中 我使用 BlackBerry API 来获取纬度和经度 我想通过创建 http 连接使用 Google 地图进行反向地理编码 如何解析数据 然后读取特定元素 例如地址 示例网址 给出回应 name 9 600000 76
  • Spring Rest POST Json RequestBody 不支持内容类型

    当我尝试使用 post 方法发布新对象时 RequestBody 无法识别 contentType Spring 已经配置完毕 POST 可以与其他对象一起使用 但不能与这个特定对象一起使用 org springframework web
  • WPF 媒体格式

    WPF 是否内置对任何音频和视频格式的支持 我将使用 MediaPlayer 和 MediaElement 类来构建一个小型媒体播放器 目前 我不想处理 NET 没有本机支持的编解码器和格式 WPF 默认支持视频格式 WMV MPEG 和一
  • 向对象添加元素

    我需要填充一个 json 文件 现在我有这样的东西 element id 10 quantity 1 我需要添加另一个 元素 我的第一步是使用该 json 将该 json 放入对象类型中cart JSON parse 现在我需要添加新元素
  • 使用 CouchDB 提供 HTML 服务

    我正在尝试将 CouchDB 与 HTML 独立 REST 架构一起使用 也就是说 除了 CouchDB 和 ajax 风格的 javascript 调用 CouchDB 之外 没有其他应用程序服务器 看起来交叉脚本是一个问题 我之前使用过
  • 如何为二进制格式化程序创建 SerializationBinder,以处理类型从一个程序集和命名空间到另一个程序集和命名空间的移动

    上下文如下 我想通过将代码移动到不同的项目来重构代码 其中一些代码包含可序列化的 DTO 用于 跨多个端点发送和接收数据 如果我移动代码 序列化就会中断 因此它不是 向后兼容我的应用程序的旧版本 这个问题的一个解决方案是 Serializa
  • ArrayList 有什么问题?

    最近我问了一个关于 SO 的问题 其中提到了可能使用 c ArrayList 来解决问题 有人评论说使用数组列表不好 我想了解更多有关此的信息 我以前从未听说过关于数组列表的这种说法 有人可以带我了解使用数组列表可能出现的性能问题吗 C n

随机推荐

  • iPhone - 从网页打开应用程序

    这听起来很奇怪 事实上 这对我来说听起来像是一个安全风险 不过 我发誓我见过网页 您可以单击其中的链接 然后打开 iPhone 上的应用程序商店 我的问题是 是否可以通过网页启动任何应用程序 可以将参数传递给应用程序吗 我不需要技术细节 我
  • 在《伊莎贝尔》中证明关于 THE 的直观陈述

    我想证明伊莎贝尔中类似的引理 lemma assumes y THE x P x shows P THE x P x 我想这个假设意味着THE x P x存在并且定义明确 所以这个引理也应该是正确的 lemma assumes y THE
  • 通过 for 循环迭代文本框

    假设我有 10 个文本框 我想在每个文本框中放入相同的文本 我不想写textBoxNum Text hello 十次所以我可能会写这样的东西 for int i 1 i lt 10 i textBox i Text hello 显然 这是行
  • Android ListView在点击切换按钮的位置获取TextView值

    我有以下带有自定义列表项的 ListView 我想得到TextView列表项中的值 其中ToggleButton被点击 这是构建列表的适配器 public class simpleAdapter extends SimpleAdapter
  • 连接多个UI5项目

    我有多个 UI5 项目 让我们调用应用程序 X 和 Y 并且我在应用程序 X 中使用路由器 我的应用程序 X 中有一个工具栏菜单 当我单击其中一条路线时 我希望它将我重定向到名为应用程序 Y 的另一个项目 使用 SAP UI5 是否有可能
  • 在哪里可以找到 nw.js 0.12.0 的 ffmpegsumo 库? (在Nodewebkit中播放音频文件)

    您好 我正在使用 NW js 0 12 0 nodewebkit 的应用程序中工作 我需要找到 Google Chrome 41 0 2272 76 的 ffmpegsumo dll 文件以便能够播放音频文件 看 NW js 文档 关于它
  • 如何判断 vim 是在命令行中运行还是在 powershell 中运行

    我想做一个执行以下操作的函数 if vim is running in powershell call system only works in powershell else echo Skipping powershell comman
  • Firefox、Chrome、Safari、IE 等的 js 递归限制是多少?

    我有一些使用相当深的递归的Javascript代码 我想找出各种浏览器中的递归限制是什么 即发生 太多递归 错误的点 有人有这方面的可靠数字吗 按版本划分 尼古拉斯 扎卡斯 Nicholas C Zakas 在他的博客中写道 Interne
  • 为什么在 C 语言中可以在一个字节中分配一个大数字?

    int ptr malloc sizeof char ptr 100000 printf d n ptr 100000 难道不应该只为一个分配足够的内存吗 char 即 1 个字节 那么最大的数不应该是255吗 怎么还打印100000 Up
  • 如何拆分埋藏在历史中的 Git 提交?

    我搞砸了我的历史并想对其进行一些更改 问题是 我有一个包含两个不相关更改的提交 并且该提交被我的本地 非推送 历史记录中的一些其他更改包围 我想在推出之前拆分此提交 但我看到的大多数指南都与拆分您最近的提交或未提交的本地更改有关 对埋藏在历
  • 当 HEAD 请求失败时,Gradle 无法下载依赖项

    我已经在 Gradle 构建脚本中设置了依赖项 该脚本托管在 Bitbucket 上 Gradle 下载失败 并出现错误消息 不能头 https bitbucket org zip 从服务器收到状态代码 403 禁止 我查了一下 似乎是因为
  • 警告:不推荐从字符串文字到“char *”的转换

    在下面的 C 代码中 char type switch mix mode case GO HISTORY VIDEO MIX VISUAL GAS type visual gas break case GO HISTORY VIDEO MI
  • 不同分辨率支持android

    编辑的问题 手机分辨率 我想设计不同的屏幕 dpi 如以下分辨率 320x480 480 800 540x960 720x1280 三星S3 1080x1920 S4 Nexus5 Nexus 5x Moto G4 2560 x 1440
  • 在这种情况下,instanceof 方法的替代方法

    你好 我想知道像这样的东西有什么更优雅的替代品 class Base class A extends Base class B extends Base iterator of colection containing mixed As a
  • R:数字精度,如何防止四舍五入?

    在 R 中 我有以下数字向量 numbers lt c 0 0193738397702257 0 0206218006695066 0 021931558829559 0 023301378178208 0 024728095594751
  • Azure VNET 子网委派

    有人可以帮助解释 Azure 中的子网委托吗 我读过以下文章 但它并没有真正解释任何内容 https learn microsoft com en us azure virtual network subnet delegation ove
  • 将命令按钮添加到 Windows 登录屏幕 [关闭]

    Closed 这个问题需要多问focused 目前不接受答案 我想为 Windows 用户实现自我重置密码功能 当登录屏幕提示时 应向域用户显示忘记密码按钮 该按钮将引导用户进入密码重置向导 所以问题是如何向标准 Windows 登录屏幕添
  • 如果单击子菜单项,请避免关闭菜单

    这是一个多级菜单 当我单击 关于 链接时 它会打开包含 3 个链接 Johnny Julie 和 Jamie 的子菜单 当我再次单击 关于 时 它会关闭菜单 单击子菜单也会关闭菜单 这是我想避免的 如果我单击子菜单 约翰尼 朱莉和杰米 如何
  • Visual Studio 2013 不断崩溃并出现错误 denev.exe [重复]

    这个问题已经存在了 所以我有一台运行 Windows 10 和 Visual Studio Ultimate 2013 的机器 但是每次我启动该程序 它都会在 1 分钟内崩溃 甚至没有移动鼠标 当它崩溃时 它会给出以下错误 devenv e
  • 从 JSON 模式生成 C# 类 [关闭]

    Closed 此问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 目前不接受答案 我正在创建一个 C WCF Web 服务 它以 JSON 格式返回大量数据 客户端是一个iPad应用程序 目前正在由另一个团队开发 所以我正在研究规