我有一个这样的对象:
val aa = parse(""" { "vals" : [[1,2,3,4], [4,5,6,7], [8,9,6,3]] } """)
我想在第一个JArray中访问值'1'。
println(aa.values ???)
这是怎么做到的?
由于
答案 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 ...