Ala*_*ine 3 java json dictionary loops scala
我是Scala的新手,我想从json中提取一些值
我有一个大的json数据作为字符串,我想只提取review_score
值,我使用import scala.util.parsing.json.JSON
库.
var values = JSON.parseFull(bigJson)
我的问题是,在解析为json后,我如何获得reviewDetails
地图?
parseFull
将返回一个Option[Any]
包含a,List[Any]
如果JSON字符串指定数组,或者Map[String,Any]
如果JSON字符串指定了一个对象,将返回一个,如文档所述.
在您的情况下,您要检索的值是地图中的键值对,它本身就是全局地图的键值对.
它有点难看,但是既然你知道JSON的结构,那么get
with 的组合asInstanceOf
将允许你获得你想要的类型值.
val jsonObject = JSON.parseFull("...")
val globalMap = x.get.asInstanceOf[Map[String, Any]]
val reviewMap = globalMap.get("reviewDetails").get.asInstanceOf[Map[String, Any]]
val reviewScore = reviewMap.get("review_score").get.asInstanceOf[Double]
Run Code Online (Sandbox Code Playgroud)
请注意,这里我使用get
"安全",因为已知该值存在于您的上下文中,但您也可以使用isEmpty
和getOrElse
.
如果你想要一个可伸缩的代码,你可以有效地看看如何使用标准的Scala类解析Scala中的JSON?
归档时间: |
|
查看次数: |
17283 次 |
最近记录: |