JSON 스키마로 JSON 파일의 유효성을 검사하는 방법

6740 단어
요즘은 정기적으로 큰 JSON 파일을 확인하고 있는데 모든 필드를 수동으로 확인해야 하는 것이 지쳤습니다. 그래서 JSON 파일 구조 유효성 검사를 할 수 있는지 인터넷에서 검색했습니다.

그리고 json-schema.org을 찾았습니다!


이게 뭐야?



JSON 스키마는 JSON 파일의 구조를 스키마로 검증하기 위한 사양입니다.

스키마 예

{
    "type" : "object",
    "properties" : 
       "price" : {"type" : "number"},
       "name" : {"type" : "string"}
    }
}

보시다시피 스키마는 해당 유형으로 모든 필드를 정의하는 JSON 파일입니다. 그런 다음 유효성 검사기 구현과 함께 사용하고 모든 관련 파일을 확인할 수 있습니다!

유효성 검사기



웹 사이트에서 많은 언어/컨텍스트에 대한 방대한 유효성 검사기 목록을 볼 수 있습니다.



내가 좋아하는 것은 파이썬입니다.


파이썬-jsonschema / jsonschema


Python용 JSON 스키마 사양 구현





jsonschema


jsonschema는 Python에 대한 JSON Schema 사양의 구현입니다.
>>> from jsonschema import validate

>>> # A sample schema, like what we'd get from json.load()
>>> schema = {
...     "type" : "object",
...     "properties" : {
...         "price" : {"type" : "number"},
...         "name" : {"type" : "string"},
...     },
... }

>>> # If no exception is raised by validate(), the instance is valid.
>>> validate(instance={"name" : "Eggs", "price" : 34.99}, schema=schema)

>>> validate(
...     instance={"name" : "Eggs", "price" : "Invalid"}, schema=schema,
... )                                   # doctest: +IGNORE_EXCEPTION_DETAIL
Traceback (most recent call last):
    ...
ValidationError: 'Invalid' is not of type 'number'

콘솔에서도 사용할 수 있습니다.
$ jsonschema --instance sample.json sample.schema


View on GitHub



또한 조금 더 자세히 살펴보면 스키마를 만드는 데 도움이 되는 다른 도구를 볼 수 있습니다.


마지막으로 저에게 도움이 된 만큼 여러분에게도 도움이 되었으면 합니다.

좋은 웹페이지 즐겨찾기