如何在python中通过jsonschema过滤json

如何在python中通过jsonschema过滤json,python,json,jsonschema,Python,Json,Jsonschema,我有一个Python中的json文件和一个相对的json模式, 我想从输入json文件中筛选出不满足相对json模式的所有元素 例如: 模式 Json输入: json模式中不存在元素“description”:“blabla”,必须对其进行筛选 Json输出: 我找到了这个,但它是针对javascript的。 您是否知道有任何脚本可以在python中执行此操作?我想我找到了解决方案:JSON模式是为验证而设计的,而不是为过滤数据而设计的。如果您已经解决了此问题,您是否可以共享此解决方案?谢谢

我有一个Python中的json文件和一个相对的json模式, 我想从输入json文件中筛选出不满足相对json模式的所有元素

例如:

模式

Json输入:

json模式中不存在元素“description”:“blabla”,必须对其进行筛选

Json输出:

我找到了这个,但它是针对javascript的。
您是否知道有任何脚本可以在python中执行此操作?

我想我找到了解决方案:

JSON模式是为验证而设计的,而不是为过滤数据而设计的。如果您已经解决了此问题,您是否可以共享此解决方案?谢谢我假设您需要一个json模式验证器来进行过滤。因此,我认为您可以询问,看看是否有任何方法可以使用该包轻松实现过滤。
{
  "type":"object",
  "$schema": "http://json-schema.org/draft-03/schema",
  "required":false,
  "properties":{
    "address": {
      "type":"object",
      "required":true,
      "properties":{
        "city": {
          "type":"string",
          "required":true
        },
        "houseNumber": {
          "type":"number",
          "required":false
        },
        "streetAddress": {
          "type":"string",
          "required":true
        }
      }
    },
    "phoneNumber": {
      "type":"array",
      "required":false,
      "items":
      {
        "type":"object",
        "required":false,
        "properties":{
          "number": {
            "type":"string",
            "required":false
          },
          "type": {
            "type":"string",
            "required":false
          }
        }
      }
    }
  }
}
{
  "address":{
    "streetAddress": "21 2nd Street",
    "city":"New York",
    "houseNumber":12
  },
  "phoneNumber":
    [
    {
      "type":"home",
      "number":"212 555-1234",
      "description":"blabla"
    }
  ]
}
{
  "address":{
    "streetAddress": "21 2nd Street",
    "city":"New York",
    "houseNumber":12
  },
  "phoneNumber":
    [
    {
      "type":"home",
      "number":"212 555-1234"
    }
  ]
}