2016-08-13 2 views
4

질문 :유효성 검사 JSON

JSON 스키마에 대한 JSON 스크립트를 확인하기 위해 일반 또는 기본 자바 스크립트 방법이 있나요?

Github에는 많은 라이브러리가 있지만 기본/일반 솔루션은 없습니다. EcmaScript에 이에 대한 사양이 없습니까? 브라우저 (또는 nodej)에서 JSON을 기본적으로 확인하는 방법이 없는지 확인하십시오. 질문의

상황 :

는 내가 개발 한 매우 복잡한 스키마를 가지고있다. 스키마를 준수하기 위해 JSON 데이터가 전달되어야하는 스크립트와 함께 작동해야합니다.

답변

2

간단히 말해서, 아니오.

JSON Schema이라는 인터넷 초안이 2013 년에 만료되었습니다. 인터넷 초안은 Internet Standard을 만드는 첫 번째 단계입니다. official site에 대한 자세한 내용은 잠재적으로 여전히 적극적으로 개발 된 것으로 보이지만 널리 사용되는 것은 아닙니다.

스키마의 예 :

{ 
    "$schema": "http://json-schema.org/schema#", 
    "title": "Product", 
    "type": "object", 
    "required": ["id", "name", "price"], 
    "properties": { 
    "id": { 
     "type": "number", 
     "description": "Product identifier" 
    }, 
    "name": { 
     "type": "string", 
     "description": "Name of the product" 
    }, 
    "price": { 
     "type": "number", 
     "minimum": 0 
    }, 
    "tags": { 
     "type": "array", 
     "items": { 
     "type": "string" 
     } 
    }, 
    "stock": { 
     "type": "object", 
     "properties": { 
     "warehouse": { 
      "type": "number" 
     }, 
     "retail": { 
      "type": "number" 
     } 
     } 
    } 
    } 
} 

이 예제 JSON 유효성을 검사합니다 :

{ 
    "id": 1, 
    "name": "Foo", 
    "price": 123, 
    "tags": [ 
    "Bar", 
    "Eek" 
    ], 
    "stock": { 
    "warehouse": 300, 
    "retail": 20 
    } 
} 

편집을 모두 (자세한 이하) 같은 일을하고 매우 유사한 구문을 성능이 가장 큰 관심사 여야합니다. JSON 검사기의 성능을 비교하려면 here을 참조하십시오. 승자는 개인적으로이 이유 때문에 사용하는 ajv입니다.

+0

그래서 JSON의 유효성을 검사하려면 어떻게해야합니까? –

+0

외부 라이브러리를 사용하십시오. 몇 가지 제안으로 업데이트하겠습니다. –

+0

감사합니다. 가장 큰 문제는 신뢰할 수없는 라이브러리에 의존하는 것입니다. –

관련 문제