使用 Scala Json Play 解析 S3 上的 Json 文件
Parse Json file on S3 using Json Play using Scala
我想使用 json play fromework
从 S3 访问 json 文件
val creds:DefaultAWSCredentialsProviderChain = new DefaultAWSCredentialsProviderChain
val s3Client = new AmazonS3Client(creds)
val uri: AmazonS3URI = new AmazonS3URI(conf_file)
val s3Object: S3Object = s3Client.getObject(uri.getBucket, uri.getKey)
val json = Json.parse(s3Object.getObjectContent)
val mylist = (json \ "mydata").get.as[List[JsValue]]
但是这一行报错
val mylist = (json \ "mydata").get.as[List[JsValue]]
为
no such element "mydata"
谁能告诉我如何访问 json 文件并使用 json play in scala 读取其内容。
我能够从本地机器访问相同的文件,以及从 json
中获取 "mydata" 的内容
您是否尝试先打印对象并检查其格式是否正确 JSON,因为对我来说一切正常。
val json: JsValue = Json.parse("""{
"mydata": [
{"first": "aa"},
{"second": "bb"},
{"third": "cc"}
]
}""")
试着实现这样的东西。
(json \ "mydata").asOpt[Seq[JsValue]].getOrElse(None)
我想使用 json play fromework
从 S3 访问 json 文件val creds:DefaultAWSCredentialsProviderChain = new DefaultAWSCredentialsProviderChain
val s3Client = new AmazonS3Client(creds)
val uri: AmazonS3URI = new AmazonS3URI(conf_file)
val s3Object: S3Object = s3Client.getObject(uri.getBucket, uri.getKey)
val json = Json.parse(s3Object.getObjectContent)
val mylist = (json \ "mydata").get.as[List[JsValue]]
但是这一行报错
val mylist = (json \ "mydata").get.as[List[JsValue]]
为
no such element "mydata"
谁能告诉我如何访问 json 文件并使用 json play in scala 读取其内容。
我能够从本地机器访问相同的文件,以及从 json
中获取 "mydata" 的内容您是否尝试先打印对象并检查其格式是否正确 JSON,因为对我来说一切正常。
val json: JsValue = Json.parse("""{
"mydata": [
{"first": "aa"},
{"second": "bb"},
{"third": "cc"}
]
}""")
试着实现这样的东西。
(json \ "mydata").asOpt[Seq[JsValue]].getOrElse(None)