Groovy - JsonSlurper 解析 JSON 文件

2024-05-19

我有一个类似于下面的 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)
    }
}

所以基本上每个学校,只要打印出学校的名字就可以了。 JSON 结构:

[{
    "SCHOOL_INFO": {
        "SCHOOL_COUNTRY": "Finland",   
        "SCHOOL NAME": "Findland Higher Learning"              
     },
     "LOCATION": {                  
         "LONGITUDE": "24.999",                   
         "LATITUDE": "61.001"
     }
}]

我不确定这是否是唯一的错误,但你无法阅读schoolInfo.SCHOOL_NAME in each. SCHOOL_NAME是的财产json.SCHOOL_INFO so 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"
}

它打印:

Findland Higher Learning
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Groovy - JsonSlurper 解析 JSON 文件 的相关文章

随机推荐