从JSON模式生成C#类
我正在创build一个以JSON格式返回大量数据的C#WCF Web服务。 客户端是一个iPad应用程序,目前正在由另一个团队开发,所以我正在制定规格,没有示例数据。
目前,JSONstring是由.net框架创build的,我的Web服务正在返回一个C#对象,其中包含所有由框架使用DataContracts进行序列化的信息。
我的问题是,通信规范只包含JSON模式文件(基于http://json-schema.org/ )。 为了便于开发,我想在C#中生成相应的类,但是由于这些文件包含了大量的信息,并且有十几个文件,所以我不想手动创build这些类。
所以我正在寻找一种工具,可以让我:
- 从JSON模式生成C#类。
- 将JSON模式转换为XSD文件 那么创build这些类就很容易,因为有很多工具可以从XSD生成类。
我发现了很多工具来validation对JSON模式的JSONstring或从JSONstring生成类,但似乎没有任何帮助我。
有JSON.NET,但它似乎是一个图书馆,而不是一个工具,我没有find任何有关生成类的信息。
所以,如果有人知道一个工具或有一个想法,我怎么可以生成这些类(我尝试了一个工具,在Java中创build类,但我不能使它的工作)。
在nuget上查找这个库。 NJsonSchema.CodeGeneration可用于从JSON模式生成C#或TypeScript代码:
var generator = new CSharpGenerator(schema); var file = generator.GenerateFile();
现在,该文件variables包含JSON模式中定义的所有类的C#代码。
我需要一个类今天生成,但无法find任何网站,可以将JSON架构转换为C#类在线,所以使用上述库和快速写了一些东西http://json2csharp.rohitl.com/希望这可以帮助。;
您可以使用库NJsonSchema来读取JSON模式或从一个types生成一个,并从中生成一个C#类。
如果你需要一个GUI来执行这些任务,你可以尝试使用NSwag工具的NSwagStudio GUI来做到这一点…(它也基于NJsonSchema)
所以我正在寻找一个工具,可以让我:从JSON模式生成C#类…
我自己并没有使用它,所以我不能做太多的评论,但是看起来像“ json-schema-to-poco ”这个工具可以满足你的需求。
根据其github自述文件:
将JSON模式文件转换为C#中的普通旧CLR对象。 作为自动构build过程的一部分运行很有用。
我今天有这个需要,并没有看到你的问题的任何可靠的答案,所以我鞭打了这一点。 这不是完美的,但它是一个很好的起点。
看看Json.NET的帮助有一个Json.Schema命名空间,可以是有用的。
http://james.newtonking.com/projects/json/help/
Json.NET – 快速入门和API文档Newtonsoft.Json.Schema命名空间命名空间►Newtonsoft.Json.Schema
项目页面: http : //json.codeplex.com/
下面是一个在线类生成器,我曾经用它从一组JSON数据生成C#类: