나는 처음으로 스키마 언어로 JSON을 사용하는 Avro 스키마를 작성하고있다. 일반 JSON에 주석을 넣을 수는 없지만 Avro 도구가 주석을 허용하는지 궁금합니다. 예 : 아마 JSON을 파싱하기 전에 그것들을 (선처리처럼) 제거 할 것입니다.Avro JSON 스키마 파일에 주석을 추가 할 수 있습니까?
편집 : /* something */ or // something
브로 도구를 구문 분석하는 동안 이러한 식을 무시 : 나는
나는 처음으로 스키마 언어로 JSON을 사용하는 Avro 스키마를 작성하고있다. 일반 JSON에 주석을 넣을 수는 없지만 Avro 도구가 주석을 허용하는지 궁금합니다. 예 : 아마 JSON을 파싱하기 전에 그것들을 (선처리처럼) 제거 할 것입니다.Avro JSON 스키마 파일에 주석을 추가 할 수 있습니까?
편집 : /* something */ or // something
브로 도구를 구문 분석하는 동안 이러한 식을 무시 : 나는
예, 당신이 아 브로 JSON 스키마에 C 주석을 사용할 수있는 C++ 브로 툴체인을 사용하고 있습니다.
EDIT : Java API에서만 작동합니다.
아니요, C++이나 C# 버전 (1.7.5 현재)에서는 사용할 수 없습니다. 코드를 살펴보면 JSON을 JSON 구문 분석기에 주석 처리없이 처리 할 수 있습니다. 즉, 기괴한 프로그래밍 스타일입니다. 문서 및 언어 지원은 상당히 엉성한 것 같습니다.
네,하지만 제한적입니다. 스키마에서 Avro 데이터 유형 'record', 'enum'및 'fixed'는 임의의 문서 문자열을 포함하는 'doc'필드를 허용합니다. 예를 들어 : https://github.com/apache/avro/blob/33d495840c896b693b7f37b5ec786ac1acacd3b4/share/test/schemas/weather.avsc#L2
이에서
나를 위해 작동하지 않습니다. 두 가지 스타일의 주석 (/ **/또는 //)을 JSON 파일에 넣으면 "json 2f에서 스키마를 파싱하거나 컴파일하지 못했습니다. 예상치 못한 문자"라는 오류가 발생합니다. 두 가지 스타일의 주석을 파일의 여러 위치에 넣으려고했습니다. – jfritz42
의견없이 스키마를 컴파일 한 것이 좋습니다. 다음 사항을 확인하십시오. 최신 버전의 avro-tools, 스키마가 컴파일되는지 확인하십시오 (avro 도구 또는 [Json validator] (http://jsonlint.com/)). 귀하의 정보를 들어, 내 avro 스키마에 대한 의견을 잘 작동 ... –
나는 최신 릴리스 1.7.4를 사용하고 있습니다. 문제는 우리가 지금 C++ 버전을 사용하고 있으며 Java 버전을 사용하고있는 것일 수 있습니다. 내 질문에 그 세부 사항을 빠뜨려 미안. – jfritz42