如何处理 JSON Key 中的空格?

How to deal with spaces in JSON Key?

我从 API 中检索到了 JSON 的字符串。我正在使用 JsonSlurper 将字符串解析为 JSON,但我不确定当键包含空格时如何处理。

JSON 的一个例子是:

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

我想遍历返回的结果并通过 person name 找到特定的人。到目前为止,我怀疑是否可行的代码是:

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" 的正确方法是什么,因为它有空格?

'包裹它:

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