使用jsonslurper从json获取变量的值

时间:2017-05-29 02:57:43

标签: json groovy 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中有快速的方式我可以循环每个'费率'并获得价值,让我们说'AMUCCY2'?

我尝试过这段代码:

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

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

任何建议都表示赞赏。

1 个答案:

答案 0 :(得分:1)

你可以试试这个:

jsonObj.rates.each {
  println it.AMUCCY2
}

如果你想要列表/数组:

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