JSON をスキーマ言語として使用する初めての Avro スキーマを作成しています。プレーンな JSON にコメントを入れることができないことはわかっていますが、Avro ツールでコメントが許可されているかどうか疑問に思っています。たとえば、JSON を解析する前に (プリプロセッサのように) それらを削除する可能性があります。
編集: C++ Avro ツールチェーンを使用しています
はい、ただし制限があります。スキーマでは、Avro データ型「record」、「enum」、および「fixed」により、任意のドキュメント文字列を含む「doc」フィールドが許可されます。例えば:
{"type": "record", "name": "test.Weather",
"doc": "A weather reading.",
"fields": [
{"name": "station", "type": "string", "order": "ignore"},
{"name": "time", "type": "long"},
{"name": "temp", "type": "int"}
]
}
公式の Avro 仕様から:
doc: このスキーマのユーザーにドキュメントを提供する JSON 文字列 (オプション)。
https://avro.apache.org/docs/current/spec.html#schema_record
はい、Avro JSON スキーマで C コメントを使用できます/* something */ or // something
。Avro ツールは、解析中にこれらの式を無視します。
編集: Java API でのみ動作します。