私はScalavroと呼ばれる小さなプロジェクトをハッキングしています(スカラタイプからAvroスキーマへ)。また、ダイレクトバイナリI/Oも提供します。
簡単な例:
{
"name": "Person",
"type": "record",
"fields": [
{"name": "name", "type": "string"},
{"name": "age", "type": "int"}
],
"namespace": "com.gensler.scalavro.tests"
}
を(上記のリンク)プロジェクトサイト上やscalatest仕様で、より多くの例があります得
package com.gensler.scalavro.tests
import com.gensler.scalavro.types.AvroType
case class Person(name: String, age: Int)
val personAvroType = AvroType[Person]
personAvroType.schema
。
私は近いうちにSonatype OSSでバイナリをホストする計画がありますが、今のところgithubとsbt publish-local
からソースを引き出すことができます。
更新:
Scalavroは、Mavenの中央で使用できるようになりました。
注:将来、スカラーマクロがタイプを生成できるかどうか分かりません –