2013-12-13 1 views
3

서버에서 JSON이 반환되었습니다. JSON 스키마 (아마 드래프트 V3, 변경 가능)에 대해 유효성을 검사하고 싶습니다. Objective-C에서 JSON 스키마의 유효성을 검사하는 방법은 무엇입니까?

내가 아마 NSDictionary이 기능을 할 것이다, 그러나 그것은하지 않는 것 생각, 여기 내 시도 : ( dictionary가있는 NSDictionary 임)

[self.dictionary ]

'가 weren 히 내가 찾을 수있는 JSON 스키마에 대해 NSDictionary의 유효성을 검사하는 방법은 없습니다. 어떻게해야합니까?

objective-c에 C 및 C++을 작성할 수 있으므로이 태그는 질문에 존재합니다.

+0

, 아마도 거기에 타사 솔루션입니다하지만 내 생각 엔 당신이해야 할 것 직접 작성하십시오 –

+0

닫힌 질문을 다시 열어 보려고 시도했을 수도 있습니다. – bummi

+1

'JSON이 서버에서 반환되었으며 JSON 스키마에 대해 유효성을 검사하고 싶습니다. 모든 JSON 개체가 사전이 아닙니다. –

답변

4

이 질문에 만족스러운 답변을 찾지 못하는 후 - 난 도망 가서 여기에 기본 목표 - C에서 내 자신의 스키마 유효성 검사기를 개발 : 난 그냥 모든 테스트를 통과있어 한 https://github.com/samskiter/KiteJSONValidator

JSON-Schema 테스트 스위트에서 v0.1을 릴리스했습니다.

내가 누군가에게 유용 희망 그래서는 MIT 라이센스하에 발표있어 ... 나는이 작업을 수행하는 내장 된 방법으로 더 알고하지

6

Objective-C는 C의 상위 집합입니다. JSON 스키마 사이트는 C 라이브러리 wjelement을 나열합니다.이를 적용 할 수 있습니다.

예제 함수 호출 당신은 자연스럽게, NSString보다는, C 문자열을 제공해야합니다

WJESchemaValidate(schema, json, schema_error, schema_load, NULL, format) 

입니다.

참고 : 나는 대답을 쓴 후, 난 당신이 시작 : MIT의를 찾고있는 사람들을위한

+0

예, 사람들은 계속 C 태그를 삭제하고 C 라이브러리를 제안하겠다는 의미로 허용되지 않습니다. (또는 내 질문이 삭제 될 것입니다.) – Sam

+0

NSDictionary를 다시 부팅해야하므로 C 문자열에 문자열을 넣었지만 매우 성숙한 라이브러리처럼 보이기 때문에 가치가 있어야합니다. 감사합니다. – Sam

+1

@Sam, 그냥'c' 태그를 사용하는 것이 더 좋습니다. –

1

에서 순수 C로 잘 깨달았 JSON 스키마 검증을 허가, "JsonSchemaValidator"는 좋은 일을하고 가능 여기에 있습니다 : https://bitbucket.org/nut_code_monkey/jsonschemavalidator

+0

이것은 좋지만 JSON-Schema 스펙에 정의 된대로 스키마 파일을 구문 분석 할 수있는 것처럼 보이지 않습니다. 그것은 문제를 접근하는 좋은 방법입니다. 형식화되고 설명 된 언어가 검증 되었기 때문입니다. – Sam