2

我有以下 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 来完成这将有所帮助。

4

2 回答 2

2

正确的是使用:

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

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

assert 'Order' == result.Transaction.keySet().first()
于 2016-07-28T14:59:17.797 回答
0

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

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

result.Transaction.Order​ //result
于 2016-07-28T14:37:25.157 回答