我有一个类似于下面结构的JSON文档,我试图在Groovy中解析它.基本上每个学校(学校信息),我想抓住SCHOOL_COUNTRY其他领域.我正在尝试下面的代码,但它没有返回我需要的东西.对于列出的每所学校(1,000),我只想抓住特定的部分,例如:
def parseJSON(long id) {
JSONFile fileInstance = JSONFile.get(id)
def json = new JsonSlurper().setType(RELAX).parse(new FileReader(fileInstance.filePath))
def schoolInfo = json.SCHOOL_INFO
def schoolName = json.SCHOOL_INFO.SCHOOL_NAME
schoolInfo.each {
render(schoolInfo.SCHOOL_NAME)
}
}
Run Code Online (Sandbox Code Playgroud)
所以基本上每个学校都打印出学校的名称.JSON结构:
[{
"SCHOOL_INFO": {
"SCHOOL_COUNTRY": "Finland",
"SCHOOL NAME": "Findland Higher Learning"
},
"LOCATION": {
"LONGITUDE": "24.999",
"LATITUDE": "61.001"
}
}]
Run Code Online (Sandbox Code Playgroud)
我不确定这是否是唯一的错误,但你无法读schoolInfo.SCHOOL_NAME入each.SCHOOL_NAME是属性,json.SCHOOL_INFO所以it.SCHOOL_NAME是访问它的正确方法.看看下面的例子:
import groovy.json.JsonSlurper
def jsonAsText = '''[{
"SCHOOL_INFO": {
"SCHOOL_COUNTRY": "Finland",
"SCHOOL NAME": "Findland Higher Learning"
},
"LOCATION": {
"LONGITUDE": "24.999",
"LATITUDE": "61.001"
}
}]'''
def json = new JsonSlurper().parseText(jsonAsText)
def schoolInfo= json.SCHOOL_INFO
schoolInfo.each{
println it."SCHOOL NAME"
}
Run Code Online (Sandbox Code Playgroud)
它打印:
Findland Higher Learning
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
32938 次 |
| 最近记录: |