亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

JSON 模式到 C# 類

JSON 模式到 C# 類

C#
Helenr 2021-11-21 18:09:50
我是 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


查看完整回答
反對 回復 2021-11-21
  • 1 回答
  • 0 關注
  • 218 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號