尝试从自述文件 https://github.com/json4s/json4s#linq-style 中的示例运行以下测试 但我得到一个空列表。我不知道示例中指定的结果 List(5, 3)
test("JValue with for comprehension") {
import org.json4s._
import org.json4s.native.JsonMethods._
val json = parse( """
{ "name": "joe",
"children": [
{
"name": "Mary",
"age": 5
},
{
"name": "Mazy",
"age": 3
}
]
}
""")
val result = for {JField("age", JInt(age)) <- json} yield age
println(result)
//Output : List()
}
最佳答案
好的,找到问题了。我们首先需要添加一个生成器子句来从 json 创建一个 JObject
val result = for { JObject(child) <- json
JField("age", JInt(age)) <- child}
yield age
//Output : List(5, 3)
关于scala - Json4s 'linq-style' 用于理解给出空列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18331584/