代码之家  ›  专栏  ›  技术社区  ›  user1393608

使用使用scala的json play分析S3上的json文件

  •  0
  • user1393608  · 技术社区  · 6 年前

    我想使用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]]
    
    
    But this line gives an error no such element "mydata"
    
    Can anyone tell how to access a json file and read its contents using json play in scala.
    
    I am able to access same file from local machine, as well as fetch contents of "mydata" from within json
    
    1 回复  |  直到 6 年前
        1
  •  0
  •   Rex    6 年前

    您是否尝试先打印对象并检查它是否正确格式化为JSON,因为我觉得一切都正常。

    val json: JsValue = Json.parse("""{
      "mydata": [
        {"first": "aa"},
        {"second": "bb"},
        {"third": "cc"}
      ]
    }""")
    
    (json \ "mydata").asOpt[Seq[JsValue]].getOrElse(None)
    

    尝试实现类似的东西。