2017-08-03 28 views
1

Ich habe eine Zeichenfolge von JSON, die ich von einer API abgerufen habe. Ich verwende JsonSlurper, um die Zeichenfolge in JSON zu analysieren, aber ich bin nicht sicher, wie mit Leerzeichen umzugehen ist, wenn der Schlüssel Leerzeichen enthält.Wie behandelt man Leerzeichen in JSON Key?

Ein Beispiel für die JSON ist:

{ 
    "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", 
    }] 
} 

ich durch die Ergebnisse iterieren möchten, die eine bestimmte Person, die von person name zurückgegeben und finden. Der Code, den ich bisher habe, die ich arbeiten zweifeln ist:

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' 
} 

Was ist der richtige Weg "person name" zu bekommen, da es Räume hat?

Antwort

2

Wickeln Sie es mit ':

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' 
} 
Verwandte Themen