从Scala中的Parsed JObject访问单个值(Jackson,json4s)

时间:2015-10-05 15:01:18

标签: json scala jackson json4s

我有一个这样的对象:

val aa = parse(""" { "vals" : [[1,2,3,4], [4,5,6,7], [8,9,6,3]] } """)

我想在第一个JArray中访问值'1'。

println(aa.values ???)

这是怎么做到的?

由于

1 个答案:

答案 0 :(得分:3)

一种方法是:

val n = (aa \ "vals")(0)(0).extract[Int]
println(n)

另一种方法是使用case类解析整个json:

implicit val formats = DefaultFormats

case class Numbers(vals: List[List[Int]])

val numbers = aa.extract[Numbers]

这样您就可以访问第一个列表的第一个值:

for { list <- numbers.vals.headOption; hd <- list.headOption } println(hd)
// or
println(numbers.vals.head.head)
// or ...