我是 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 關注
- 218 瀏覽
添加回答
舉報
0/150
提交
取消