2017-05-31 47 views
0

我正在使用Scala播放,並試圖遍歷JSON樹以驗證特定名稱值具有特定名稱值的特定子節點。我有以下的Json在JsObject形式:遍歷嵌套的JSON在斯卡拉播放

{ "name": "user", "children": [ { "name": "$a", "children": [ { "name": "foo", "children": [ ] }, { "name": "fooBar", "children": [ { "name": "$a", "children": [ { "name": "subFoobar1", "children": [ ] }, { "name": "subFoobar2", "children": [ { "name": "TEST", "children": [ ] } ] }, { "name": "subFoobar3", "children": [ ] } ] } ] }, { "name": "bar", "children": [ { "name": "$a", "children": [ ] }, { "name": "$c", "children": [ ] }, { "name": "$b", "children": [ ] } ] }, { "name": "barFoo", "children": [ ] } ] } ] } 

理想我想使用嵌套的for循環遍歷但JsObject結構阻止我試圖遍歷訪問時的基本價值觀。我也嘗試將JsObject映射到[Map [String,Map [String,Any]]]類型的映射,但是我收到了無效的cast編譯器錯誤。

任何有關如何遍歷和驗證每個級別的名稱值的提示將不勝感激。我最好喜歡使用播放json庫

回答

0

問題在我嘗試使用的類中。我沒有考慮到我的Json結構的遞歸性質

case class ActorTree(name : String, children:Seq[ActorTree])