问题标签 [njsonschema]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
c# - 我如何删除 NjsonSchema 中的 SchemaReferenceHandling
我正在使用 NJsonSchema 从 .NET 类型生成 JSON Schema。我正在生成的 json 中获取复杂类型的引用(“$ref”...)。
我不想要引用,而是我想要整个块本身。我已经尝试过下面的代码行,但它似乎不起作用。
我可以通过使用 Newtonsoft.Json 包(见下面的代码)来做到这一点,但 Newtosoft.Json 每小时生成 10 个模式的限制,我不得不切换到 NJsonSchema。
有什么办法可以让我拥有整个块而不是使用 NJsonSchema 引用它。
c# - NJsonSchema C# - 更改生成的值类型
我正在使用 NJsonSchema CsharpGenerator 10.1.24 并具有以下用于生成 POCO 的架构:
如何让生成的 C# 类具有decimal
价格类型而不是默认类型double
?
public double Price { get; set;}
我尝试使用带有生成器设置JsonSerializerSettingsTransformationMethod
属性的自定义静态方法,但没有任何改变。
c# - NJsonSchema - 如何将自定义属性添加到从 json 模式生成的 c# 类
我有一个json模式如下:
我有以下代码来生成 csharp 类:
这会生成以下类:
现在我想将自定义属性“MyCustomAttribute”添加到“MyClass”的“ArrayTypeProperty”,以便生成的类如下所示:
有人可以帮助我了解我是否可以使用 NJSonSchema 实现这种行为,如果可以,如何实现?
c# - Parse Json into a schema-generated set of classes
I have a Json schema and can use NJsonSchema.CodeGeneration.CSharp
to create classes corresponding to it. So if I have json which conforms to the schema, I should be able to easily parse it into a collection of objects whose classes are the classes generated from the schema?
So how can I do this - parse json and get out C# class objects that correspond to the objects in the json (as define by the schema)?
As an example - if the schema defines a first object definition which is an array of a second object definition, then I would like to be able to parse it in such a way that the output is an instance of the class corresponding to the first object definition and it has a member which is a List
of instances of the class corresponding to the second definition. It seems that the schema knows all the information required to do this, so it should be a single line - I appreciate I could do long-hand parsing (eg converting each item in the array) to achieve the same result.
I would think this would be a primary purpose of having C# classes generated from a schema, so what's the magic method I'm missing?
I'm also happy to write C# classes and generate a schema from that if it's a more workable solution.
I've used NJsonSchema
but happy to use any other C# json schema and code generation technique that achieves the same end.
UPDATE: After discussion I've seen that if NJsonSchema
is used to generate classes from the schema, the TypeScript
version of those classes each have a fromJS
method which sounds like what I want but they're missing from the C# version. I'm happy to use something other than NJsonSchema
to generate classes from schema if it provides a solution.
typescript - 生成的构造函数数据
我正在使用 NSwag 为后端 API 生成打字稿客户端。最终,它最终生成了一个方法:
这很好,但是问题出在LoginRequest
构造函数上。它像这样生成:
因此,它允许LoginRequest
在没有任何所需数据的情况下创建它。我查看了生成器的来源,似乎没有更改它的选项。
有没有办法强制构造函数使data
参数成为必需的?
请注意,我知道我可以将生成类型设置为使用接口,但据我所知,我会失去一些解析智能(即日期字符串到日期实例)。如果我只能使用接口但以某种方式保留该逻辑,那将是理想的。
c# - 将根对象添加到 NJsonSchema 模式生成器
我正在使用 NJsonSchema 从 c# 类生成 JasonSchema。我可以创建这个架构:
通过使用:
但我需要将其包装在一个名为模式的对象中:
我如何通过 NJsonSchema c# 模式生成器做到这一点?
c# - 通过 NJsonSchema for .NET 或 Newtonsoft.Json.Schema 生成 swagger v2 架构
我需要使用一个工具,最好是 NJsonSchema for .NET 从 c# 类生成模式。要求是基于 swagger 版本 2 创建模式。例如,我不能在模式中包含 oneOf、anyOf 等,它们是 OAS3 中的新关键字。我们可以在模式生成器中指定 swagger/OAS 版本吗?如何才能做到这一点?
njsonschema - 如何验证 Jarray 响应数据模式
我有一个 json 模式验证功能,如下所示
参数 jsonData 是响应的内容,但有时它会是一个数组,如下所示
那么我该如何处理呢?
c# - 检查 JSON 中的重复属性
我们正在开发一个基于 .Net 核心的 web api 应用程序,为此我们需要验证传入的请求主体,该请求主体的JSON
格式是基于 c# 的类型。我们此时正在评估NJsonSchema
库以查看它是否会引发重复属性错误。但看起来它不支持此验证。我们还检查了JSON
模式验证器,NewtonSoft
但似乎它也不支持重复的属性验证。
下面是NJsonSchema
我们使用的最小化代码 -
当我们像这样传递一个 JSON 对象时 -
我们需要我们的 JSON 验证器来抛出错误,duplicate property
我们的示例测试如下所示 -
所以我的问题 - 过去有没有人这样做过?或者是否有任何库为重复属性.net core
提供JSON
验证和/或可以使用NJsonSchema
or来完成NewtonSoft
。
c# - C#:在 NJsonSchema 中将模式合并为一个不起作用
我正在使用 NJsonSchema 包来生成一些需要由不同客户端使用的类的模式,但由于某种原因,将所有模式合并到一个完整的模式中并没有按预期工作。下面是为所有类型创建一个单一模式的方法:
我只是使用方法将该模式转换为 JSON ToJson
。根据我的理解,架构本身看起来不错,有所有定义等。但是当我将它复制粘贴到这里时,它给了我一个包含所有类的所有属性的类,它只是一个带有字段和属性的大类,并不多像我的代码中的类。
也尝试从 VS 做如下所述:
这会给我很多类的名字,比如Anonymous
,Anonymous32
等等。一些奇怪的名字。
我的方法有问题还是问题出在客户端?
编辑:我不得不更改客户端的方法JsonSchema.FromSampleJson(text)
并JsonSchema.FromFileAsync(path).Result
改为使用,但现在我得到一个空结果:
根本没有生成类...