我是 JSON 的新手,但我对 C# 有点了解。我有一个 JSON 模式,我遇到了一个我不确定如何将它放入对象类的部分。"def_subscore": { "type": "number", "minimum": 0, "maximum": 10},"def_impact": { "type": "object", "properties": { "baseMetricV3": { "type": "object", "properties": { "cvssV3": {"$ref": "cvss-v3.0.json"}, "exploitabilityScore": {"$ref": "#/definitions/def_subscore"}, "impactScore": {"$ref": "#/definitions/def_subscore"} } } }}正如我们所看到的,baseMetricV3是一个类对象,并定义了它的类型和属性。exploitabilityScore应该是一个“Subscore”,它被定义为一个具有最小和最大限制的数字。我可以创建一个像双精度/整数一样的类并且还必须通过特定于类的验证吗?模式只是说exploitabilityScore并且impactScore只是需要在我的代码中进行验证以确保值介于 0 和 10 之间的双精度/整数?或者模式只是说exploitabilityScore并且impactScore只是双/整数,顺便说一下,数据不应该以 0 和 10 以外的值出现(因为在他们这边已经完成了验证def_subscore,而且信息量更大)?
1 回答
呼啦一阵风
TA贡献1802条经验 获得超6个赞
如果你的模式说prop是类型,number你必须double/int/float/...为该属性定义一些数字类型,而不是一个类。
如果您只想检查 JSON 对象是否符合给定的架构,您可以使用一些 json 验证器库根据架构验证对象。
此外,(或者,例如,如果您将 JSON 字符串解析为自定义类),您可以将RangeAttribute用于您的类
class SomeClass {
[Range(1, 10)]
public int SomeValue {get;set;}
}
对于其他约束,可能有其他注释。您甚至可以自己定义它们,如下所示https://stackoverflow.com/a/7256854/3776927
- 1 回答
- 0 关注
- 186 浏览
添加回答
举报
0/150
提交
取消