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)
にそれを期待していた。
私のプログラムでは、これは二次計算になりますが、私は線形が必要です。
トップレベルのid
フィールドのみに一致するようにfor-comprehensionsを使用できますか?