2013-05-23 12 views
6

私は最初のAvroスキーマを作成しています。これはJSONをスキーマ言語として使用しています。私は単純な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バリデーター](http://jsonlint.com/))。あなたの情報のために、私のavroのスキーマすべてのコメントが正常に動作します... –

+0

私は最新のリリースである1.7.4を使用しています。今はC++版を使用していて、Java版を使用している可能性があります。私の質問にその詳細を残して申し訳ありません。 – jfritz42

2

いいえ、C++でもC#バージョン(1.7.5以降)でもできません。コードを見れば、JSONをJSONパーサーにプッシュするだけで、何のコメントもなしに、奇妙なプログラミングスタイルになります。ドキュメントと言語のサポートは、かなり汚いと思われます...

関連する問題