用groovy读取json的名字

时间:2016-07-28 14:31:47

标签: json groovy xmlslurper jsonslurper

我有以下JSON结构,我正在尝试将名称order / sale / Cancel检索到groovy中的字符串变量

{"Transaction" : {"Order" : { ......
{"Transaction" : {"Sale" : { ......
{"Transaction" : {"Cancel" : { ......

我能够达到这一点,使用JSON slurper阅读JSON并进行一些研究,但不知道如何阅读名称..大多数文章我都看到了阅读值而不是名称。

final BufferedReader inReader = new BufferedReader(new InputStreamReader(inputStream, 'UTF-8'))
Object result = jsonSlurper.parse(inReader)

我已经从XML转换为JSON,所以如果使用XML或JSON可以做到这一点会有所帮助。

2 个答案:

答案 0 :(得分:2)

正确使用:

def json = '{"Transaction" : {"Order" : "result"} }'

def slurper = new groovy.json.JsonSlurper()
def result = slurper.parseText(json)

assert 'Order' == result.Transaction.keySet().first()

答案 1 :(得分:0)

如果您在字符串中使用JSON,则不需要创建BufferedReader,只需使用parseText即可。解析JSON后,您可以通过遍历属性来访问它。

def slurper = new groovy.json.JsonSlurper()
def result = slurper.parseText(inputStream.text)​;

result.Transaction.Order​ //result