1
我正在使用提升JSON的解析来解析某些JSON。 JSON是递归的,例如每个级别都存在id
字段。下面是一个例子:在提升JSON中的非递归提取以便理解
val json = """
{
"id": 1
"children": [
{
"id": 2
},
{
"id": 3
}
]
}
"""
以下代码
var ids = for {
JObject(parent) <- parse(json)
JField("id", JInt(id)) <- parent
} yield id
println(ids)
产生List(1, 2, 3)
。我期待它能生产List(1)
。
在我的程序中,这导致二次计算,但我只需要线性。
是否可以使用for-comprehensions来匹配顶级id
字段?