【发布时间】:2020-07-15 05:42:09
【问题描述】:
从 API 响应中,我正在解析 JSON
String myData = jsonSlurper.parseText(responseBody)
Map parsedBiblio = jsonSlurper.parseText(myData)
下面是parsedBiblio的输出
{"Data": {"AppNumber": "15671037", "CustomerNumber": "81744", "Date": "08-07-2017", "Status": "Active"},
"Applicants": [{"Name": "abcd Inc.", "Address": "xxx, CA (US)"}],
下面是检索Data键和对应值的代码
Map<Object, Object> innerMap = parsedBiblio.get("Data")
for (Object objectName : innerMap.keySet()) {
println("Key: " + objectName + " Value: "+ innerMap.get(objectName) +".");
}
让我知道如何检索Applicants 键和对应的值,因为这是map<string,List<string> 格式,所以我将按以下格式声明内部映射
Map<String, List<String>> innerMapApplicant = parsedBiblio.get("Applicants")
我收到此错误
无法将具有类“java.util.ArrayList”的对象“[{Address=xxx, CA (US), Name=abcd Inc.}]”转换为类“java.util.Map”,原因是:groovy.lang .GroovyRuntimeException:找不到匹配的构造函数:java.util.Map(groovy.json.internal.LazyMap)
【问题讨论】: