2017-08-03 2 views
1

APIから取得したJSONの文字列があります。私はJsonSlurperをJSONに文字列を解析するために使用していますが、キーにスペースが含まれている場合の処理​​方法がわかりません。JSON Keyのスペースを処理するには?

JSONの例は次のとおりです。私は、返される結果を反復処理し、person nameすることにより、特定の人を見つけたい

{ 
    "total": 3, 
    "page": 1, 
    "totalPages": 1, 
    "results": [{ 
     "person name": "John Doe", 
     "date of birth": "01/01/1990", 
     "date of registration": "01/01/2016", 
     "notes": "default user", 
    }] 
} 

。私は仕事はないだろう、私がこれまで持っているコードは、次のとおりです。

final RestBuilder rest = new RestBuilder() 
JsonSlurper slurper = new JsonSlurper() 
def response = rest.get("http://example.com/api/getPeople") 
def json = slurper.parseText(response.text) 
def jsonResults = json.results 
jsonResults.each { res -> 
    assert res.personName == 'John Doe' 
} 

それがスペースを持っているので"person name"を取得するための正しい方法は何ですか?

答えて

2

'でそれをラップ:

import groovy.json.JsonSlurper 

def input = '''{ 
    "total": 3, 
    "page": 1, 
    "totalPages": 1, 
    "results": [{ 
     "person name": "John Doe", 
     "date of birth": "01/01/1990", 
     "date of registration": "01/01/2016", 
     "notes": "default user", 
    }] 
}''' 

def json = new JsonSlurper().parseText(input) 

json.results.each { res -> 
    assert res.'person name' == 'John Doe' 
} 
関連する問題