次の json 文字列を解析する必要があります。
{「タイプ」: 1}
私が使用しているケースクラスは次のようになります。
case class MyJsonObj(
val type: Int
)
ただし、「type」はキーワードであるため、これは Scala を混乱させます。そこで、Jacson/Jerkson の @JsonProperty アノテーションを次のように使用してみました。
case class MyJsonObj(
@JsonProperty("type") val myType: Int
)
ただし、Json パーサーは、json で「myType」ではなく「type」文字列を検索することを依然として拒否しています。次のサンプル コードは、問題を示しています。
import com.codahale.jerkson.Json._
import org.codehaus.jackson.annotate._
case class MyJsonObj(
@JsonProperty("type") val myType: Int
)
object SimpleExample {
def main(args: Array[String]) {
val jsonLine = """{"type":1}"""
val JsonObj = parse[MyJsonObj](jsonLine)
}
次のエラーが表示されます。
[error] (run-main-a) com.codahale.jerkson.ParsingException: Invalid JSON. Needed [myType], but found [type].
PS: 上記のように、私は jerkson/jackson を使用していますが、他の json 解析ライブラリに切り替えても問題ありません。