0
私はこのようなスカラ座でのJSONファイルを抽出します:スカラ読むJSONファイル
val json: JsValue = Json.parse("""
{
"Received":"2015-12-29T00:00:00.000Z",
"Created":"2015-12-29T00:00:00.000Z",
"Location":{
"Created":"2015-12-29T00:00:00.000Z",
"Coordinate":{
"Latitude":45.607807,
"Longitude":-5.712018},
},
"Infos":[],
"DigitalInputs":[{
"TypeId":145,
"Value":false,
"Index":23
}],
}
""")
をして、これは私のScalaのコードです:
import org.apache.flink.api.scala._
import play.api.libs.json._
case class DInputs(
TypeId: Option[Int],
Value: Option[Boolean],
Index: Option[Int]
)
case class myjson (
Received: String,
Created: String,
Location: Option[String],
Infos: Option[String],
DigitalInputs: Option[List[DInputs]],
)
implicit val DInputsRead: Reads[Option[DInputs]] = (
(__ \ "TypeId").readNullable[Int] andThen
(__ \ "Value").readNullable[Boolean] andThen
(__ \ "Index").readNullable[Int]
)(DInputs.apply _)
case Some(json.DInputsRead) => println(json.DInputsRead)
私のコードのエラー:Expression of type Reads[Option[Int]] doesn´t conform to expected type Reads[Option[DInputs]]
私は初心者で、どこに問題があるのか理解していないので、これがjsonファイルを読む最良の方法なのかどうかは分かりませんので、どんな助けもありがたいです。ありがとう。
がよさそうだ、今私はあなたを考える 'and'とオペレータ – jag
でシンボルを解決できません持っていますここにインポートがありません: 'import play.api.libs.functional.syntax._' –
はい、これが問題でした。ありがとうPawel – jag