簡體   English   中英

從json模式獲取必填字段

[英]get required fields from json schema

我正在嘗試針對一個架構測試很多json文檔,並且我使用一個具有所有必需字段名稱的對象來保持每個對象有多少錯誤。

是否有任何python庫中的函數可創建帶有布爾值的示例對象,用於確定是否需要特定字段。 即從這個模式:

{
    "$schema": "http://json-schema.org/draft-04/schema#",
    "type": "object",
    "properties": {
        "type": {
            "type": "string"
        },
        "position": {
            "type": "array"
        },
        "content": {
            "type": "object"
        }
    },
    "additionalProperties": false,
    "required": [
        "type",
        "content"
    ]
}

我需要得到類似的東西:

{
  "type" : True,
  "position" : False,
  "content" : True
}

我也需要它來支持對定義的引用

我不知道會執行此操作的庫,但是這個簡單的函數使用dict理解來獲得所需的結果。

def required_dict(schema):
    return {
        key: key in schema['required']
        for key in schema['properties']
    }

print(required_dict(schema))

您提供的模式的示例輸出

{'content': True, 'position': False, 'type': True}

編輯: 鏈接到repl.it示例

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM