2013-05-23 3 views
6

나는 처음으로 스키마 언어로 JSON을 사용하는 Avro 스키마를 작성하고있다. 일반 JSON에 주석을 넣을 수는 없지만 Avro 도구가 주석을 허용하는지 궁금합니다. 예 : 아마 JSON을 파싱하기 전에 그것들을 (선처리처럼) 제거 할 것입니다.Avro JSON 스키마 파일에 주석을 추가 할 수 있습니까?

편집 : /* something */ or // something
브로 도구를 구문 분석하는 동안 이러한 식을 무시 : 나는

답변

4

예, 당신이 아 브로 JSON 스키마에 C 주석을 사용할 수있는 C++ 브로 툴체인을 사용하고 있습니다.
EDIT : Java API에서만 작동합니다.

+0

이에서

{"type": "record", "name": "test.Weather", "doc": "A weather reading.", "fields": [ {"name": "station", "type": "string", "order": "ignore"}, {"name": "time", "type": "long"}, {"name": "temp", "type": "int"} ] } 

나를 위해 작동하지 않습니다. 두 가지 스타일의 주석 (/ **/또는 //)을 JSON 파일에 넣으면 "json 2f에서 스키마를 파싱하거나 컴파일하지 못했습니다. 예상치 못한 문자"라는 오류가 발생합니다. 두 가지 스타일의 주석을 파일의 여러 위치에 넣으려고했습니다. – jfritz42

+0

의견없이 스키마를 컴파일 한 것이 좋습니다. 다음 사항을 확인하십시오. 최신 버전의 avro-tools, 스키마가 컴파일되는지 확인하십시오 (avro 도구 또는 [Json validator] (http://jsonlint.com/)). 귀하의 정보를 들어, 내 avro 스키마에 대한 의견을 잘 작동 ... –

+0

나는 최신 릴리스 1.7.4를 사용하고 있습니다. 문제는 우리가 지금 C++ 버전을 사용하고 있으며 Java 버전을 사용하고있는 것일 수 있습니다. 내 질문에 그 세부 사항을 빠뜨려 미안. – jfritz42

2

아니요, C++이나 C# 버전 (1.7.5 현재)에서는 사용할 수 없습니다. 코드를 살펴보면 JSON을 JSON 구문 분석기에 주석 처리없이 처리 할 수 ​​있습니다. 즉, 기괴한 프로그래밍 스타일입니다. 문서 및 언어 지원은 상당히 엉성한 것 같습니다.

관련 문제