2017-05-31 44 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])