1
以下のコードは、評価しようとしているJSONのサンプルです。GroovyのJSONでnullキーまたは欠損キー/値のペアを処理する方法
第2主張ステートメントは機能しますが、残りのステートメントは機能しません。 どんな助力も素晴らしいでしょう。
コード:まず、
// How many employees have an age key/value pair?
assert message.employees.findAll { it.age }.size() == 2
// Or
assert message.employees.age.findAll().size() == 2
和のためのために
import groovy.json.*
def jsonText = '''
{
"message": {
"employees": [{
"firstName": "John",
"lastName": "Doe",
"age": 1
}, {
"firstName": "Anna",
"lastName": "Smith",
"age": 5
}, {
"firstName": "Peter",
"lastName": "Jones"
}],
"body": "Some message"
}
}
'''
def json = new JsonSlurper().parseText(jsonText)
def message= json.message
assert message.employees[0].age == 1
assert message.employees.size() == 3
// How to make the following tests work. Are there any options?
assert message.employees.age.size() == 2 // How many employees have an age key/value pair?
// What's the sum of the ages, if the value does not exist use 0
assert message.employees.sum { it.age==null?0:it.age } == 6 // Could I use some sort of null check?
assert message.employees.age.sum() == 6 // Is there a way to specify the default value
ニース@tim_yates – pczeus