我不确定我在这里做错了什么,而且我有一段时间才能让它正常工作。使用这个JSON:
{
"books": [
{
"category": "reference",
"author": {
"name": "Nigel Rees",
"age": 45
},
"title": "Sayings of the Century",
"price": 8.95,
"tax": 7.00
},
{
"category": "reference",
"author": {
"name": "Evelyn Waugh",
"age": 30
},
"title": "A cheap book",
"price": 6.00,
"tax": 3.00
}
]
}
例如,我无法提取作者年龄为45岁的书籍。我尝试了以下内容(使用books
文档根目录设置)
findAll {it.author.age == 45}
findAll {it.author}.findAll {it.age == 45}
findAll {it.author}*.each {it.age == 45 }
我仍然收回所有有年龄项的记录。它可以是任意对象,也可能没有author
记录等。我希望返回根book
对象。
我觉得我有一些非常明显的东西,但是文档似乎只涵盖了一个级别的键值。也许它不支持它?
谢谢!
答案 0 :(得分:1)
在这里
books.findAll{it.author.age==45}
它无法按您的方式工作(findAll {it.author.age == 45}),因为您从根开始工作,并且'it'变量返回'books'对象,其中没有字段'author'。