在 Groovy(不是 Grails)中,我想获得这样一个项目的颜色:
{
"8436": {
"color": "red",
}
}
“8436”这个数字是动态的,但始终只有一个。
我不能使用 JsonSlurper 的 json.8436.color
语法,因为数字会被硬编码。
如何获取颜色?
最佳答案
另一种选择,给定:
def jsonStr = '''{
"8436": {
"color": "red",
}
}'''
你可以这样做:
import groovy.json.JsonSlurper
def json = new JsonSlurper().parseText(jsonStr)
def (rootKey, color) = json.findResult { k, v -> [k, v.color] }
assert rootKey == '8436'
assert color == 'red'
关于json - 在 Groovy 中获取具有随机名称的单个节点的 JSON 子节点,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39746846/