使用 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)