Как фильтровать JSON через Jsonschema в Python
У меня есть json-файл в Python и относительная json-схема, я хочу отфильтровать из входного 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
}
}
}
}
}
}
JSON вход:
{
"address":{
"streetAddress": "21 2nd Street",
"city":"New York",
"houseNumber":12
},
"phoneNumber":
[
{
"type":"home",
"number":"212 555-1234",
"description":"blabla"
}
]
}
Элемент "description":"blabla" отсутствует в схеме json и должен быть отфильтрован.
Вывод Json:
{
"address":{
"streetAddress": "21 2nd Street",
"city":"New York",
"houseNumber":12
},
"phoneNumber":
[
{
"type":"home",
"number":"212 555-1234"
}
]
}
Я нашел этот https://github.com/alank64/json-schema-filter но это для JavaScript. Вам известен какой-нибудь скрипт, способный сделать это на python?
1 ответ
Я думаю, что нашел решение: http://docs.python-cerberus.org/en/stable/normalization-rules.html#purging-unknown-fields