2016-07-28 74 views
0

我有以下JSON結構,我試圖檢索名稱順序/銷售/取消一個字符串變量在常規使用閱讀JSON的名稱常規

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

我能走到這一步,閱讀json使用json slurper與一些研究,但不知道如何讀取名稱..我所看到的大多數文章指向讀取值而不是名稱。

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

我已經從xml轉換爲JSOn所以如果這可以使用XML或JSON將會有所幫助。

我很新的JSON和Groovy將不勝感激幫助..謝謝

回答

0

如果你有JSON字符串中你不需要創建BufferedReader,只需使用parseText。在解析JSON之後,您可以通過遍歷屬性來訪問它。

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

result.Transaction.Order​ //result 
+0

JSON是不是字符串,因此必須使用BufferedReader – anuj

+0

您可以使用的inputStream'的getText()'方法來得到它的字符串。編輯我的答案。 –

1

正確的辦法是使用:

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

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

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