我正在使用jsonschema包python來驗證我的 JSON。我可以設定default。jsonschema讓我們假設以下模式:
from jsonschema import validate
schema = {
"type": "object",
"properties": {
"key_1": {},
"key_2": {
"type": "string",
"default": "do_not_overwrite_if_key_exists",
},
"key_3": {
"type": "string",
"default": "use_it_if_key_does_not_exist",
},
},
"required": ["key_1"],
}
json_dict = {"key_1": "key_1_value", "key_2": "key_2_value"}
validate(json_dict, schema)
我json_dict的完全有效。我有兩個問題:
default關鍵字真的像檔案(見下文)所說的那樣“無用”嗎?這就是你得到的全部?
“default”關鍵字沒有任何作用,但很好地包含在模式的讀者中,以便更容易地識別默認行為。
- 我想有一種方法可以
json_dict根據default關鍵字將 my 轉換為以下內容。你知道這樣的包裹嗎?
json_dict = {"key_1": "key_1_value", "key_2": "key_2_value", "key_3": "use_it_if_key_does_not_exist"}
謝謝!
uj5u.com熱心網友回復:
此處記錄了default關鍵字:https ://json-schema.org/draft/2020-12/json-schema-validation.html#rfc.section.9.2
它確實不是驗證關鍵字,僅充當注釋。當從模式評估生成此注釋時,由各個應用程式決定如何使用它。
轉載請註明出處,本文鏈接:https://www.uj5u.com/qiye/467325.html
標籤:Python json 默认 jsonschema
上一篇:在回圈中創建不同長度的字典以附加到串列中。(json到Pandas資料框)
下一篇:從API回應中選擇鍵值
