使用 jsonslurper 从 json 获取变量值

Get value of variable from json using jsonslurper

我有以下 JSON 代码:

{  
"TIMESTAMP":"2017-05-26-20.22.40.016000",
"dateTime":"2017-05-26H-20.22.4",
"AMUCCY1":"ADP",
"rates":[  
   {  
      "AMUCCY2":"AED",
      "AMURAT":"1.000000000",
      "AMUNXRT":0
  },
  {  
     "AMUCCY2":"AFA",
     "AMURAT":"1.000000000",
     "AMUNXRT":0
  },
  {  
     "AMUCCY2":"ALL",
     "AMURAT":"1.000000000",
     "AMUNXRT":0
  },
  {  
     "AMUCCY2":"AMD",
     "AMURAT":"1.000000000",
     "AMUNXRT":0
  }
 ]
}

在 groovy 中有没有快速的方法,我可以循环遍历每个 'rates' 并获取 'AMUCCY2' 的值?

我尝试执行此代码:

jsonObj.rates.each {
    def toCurrencyMap = jsonObj.rates.AMUCCY2
    LOG.info "${toCurrencyMap}"
}

但是 toCurrencyMap returns 是该字段所有四个值的数组。我只想得到每个值;不是全部。

如有任何建议,我们将不胜感激。

你可以试试这个:

jsonObj.rates.each {
  println it.AMUCCY2
}

如果你想要列表/数组:

def result = jsonObj.rates.collect { it.AMUCCY2 }
println result