Jul*_*n N 61 .net wcf json jsonschema
我正在创建一个C#WCF Web服务,它以JSON格式返回大量数据.客户端是一个iPad应用程序,目前正在由另一个团队开发,所以我正在研究规范,没有示例数据.
目前,JSON字符串是由.net框架创建的,我的Web服务返回一个C#对象,其中包含然后使用DataContracts由框架序列化的所有信息.
我的问题是通信规范只包含JSON Schema文件(基于http://json-schema.org/).为了便于开发,我想在C#中生成相应的类,但由于文件包含大量信息,而且有十几个文件,我真的不想手动创建这些类.
所以我正在寻找一种工具,可以让我:
我找到了许多工具来验证JSON模式的JSON字符串,或者从JSON字符串生成类,但似乎没有任何帮助我的东西.
有JSON.NET,但它似乎是一个库,而不是一个工具,我没有找到任何有关使用它生成类的信息.
所以,如果有人知道一个工具或者有关于如何生成这些类的想法(我尝试了一个用Java创建类但我无法使其工作的工具).
Ro *_*Hit 32
在nuget上查找这个库.的NJsonSchema.CodeGeneration可用于生成从JSON模式C#或打字稿代码:
var generator = new CSharpGenerator(schema);
var file = generator.GenerateFile();
Run Code Online (Sandbox Code Playgroud)
文件变量现在包含JSON模式中定义的所有类的C#代码.
我需要一个今天生成的类,但找不到任何可以将json模式转换为c#类的网站,所以使用了上面提到的库并快速写了一些东西http://json2csharp.rohitl.com/希望这有帮助.
小智 23
Visual Studio 2017具有此功能.
从菜单中,选择"编辑","选择性粘贴","将JSON粘贴为类".粘贴在JSON中,Visual Studio将创建所需的类.
您可以使用库NJsonSchema读取JSON模式或从类型生成JSON模式,并从中生成C#类.
如果您需要用于执行这些任务的GUI,可以尝试使用NSwag工具中的NSwagStudio GUI 来执行此操作...(它也基于NJsonSchema)
为了正确回答这个问题,您需要知道 Json Schema 的版本(草案)。
哪些库可以处理哪些架构的示例 (2018-01-19):
Json.NET Schema supports draft 3, draft 4, draft 6 (MIT)
Manatee.Json supports draft 4, draft 6, draft 7 (MIT)
NJsonSchema supports draft 4 (Ms-PL)
Run Code Online (Sandbox Code Playgroud)
http://json-schema.org/implementations.html#validator-dotnet
由于NJsonSchema.CodeGeneration您也不能直接发送实际的 JSON,您首先需要将其转换为实际的模式(您经常会收到错误:Unable to cast object of type 'System.String' to type 'NJsonSchema.JsonSchema4否则)。
运行代码示例,Schemas文件夹位于项目根目录:
class Program
{
static void Main(string[] args)
{
var location = Assembly.GetExecutingAssembly().Location;
var path = Path.GetFullPath(Path.Combine(location, @"..\..\..\Schemas"));
var schemaJson = File.ReadAllText($"{path}Test.json");
var schema = JsonSchema4.FromJsonAsync(schemaJson).Result;
var generator = new CSharpGenerator(schema);
var generatedFile = generator.GenerateFile();
}
}
Run Code Online (Sandbox Code Playgroud)
小智 5
所以我正在寻找一个工具,它可以让我:从 JSON 模式生成 C# 类...
我自己没有使用过它,所以我不能对它发表太多评论,但似乎工具“ json-schema-to-poco ”可以满足您的需求。
根据其 github 自述文件:
将 JSON 架构文件转换为 C# 中的普通旧式 CLR 对象。对于作为自动构建过程的一部分运行很有用。
Car*_*lla -1
查看 Json.NET 的帮助\n有一个 Json.Schema 命名空间可能很有用。
\n\nhttp://james.newtonking.com/projects/json/help/
\n\nJson.NET - 快速入门和 API 文档\nNewtonsoft.Json.Schema 命名空间\n命名空间 \xe2\x96\xba Newtonsoft.Json.Schema
\n\n项目页面: http: //json.codeplex.com/
\n| 归档时间: |
|
| 查看次数: |
54691 次 |
| 最近记录: |