Groovy.我怎样才能在数组中得到json元素

ycl3bljg  于 2022-12-15  发布在  其他
关注(0)|答案(1)|浏览(115)

有这样一个JSON:https://restcountries.com/v3.1/all我只想选择“翻译”-〉“ita”-〉“common”

HTTPBuilder getHttpBuilder() {
    new HTTPBuilder('https://restcountries.com/')
}

def http = httpBuilder.request(Method.GET, ContentType.JSON){
    uri.path = 'v3.1/all'
    uri.query = [fields: 'translations,ita,common']
    response.success = { resp, json ->
        log.error(json.toString()) //string
        log.error(JsonOutput.toJson(json).br) //json
        log.error(JsonOutput.prettyPrint(JsonOutput.toJson(json))) //formated json
    }
}

但我总是得到一个大致的看法或什么都不需要帮助我理解!谢谢!

jyztefdp

jyztefdp1#

帮我找到了这个解决方案。也许其他人也会偶然发现它。

import groovy.json.JsonOutput
import groovyx.net.http.ContentType
import groovyx.net.http.HTTPBuilder
import groovyx.net.http.Method
import groovy.json.JsonSlurper

HTTPBuilder getHttpBuilder() {
    new HTTPBuilder('https://restcountries.com/')
}

def http = httpBuilder.request(Method.GET, ContentType.JSON){
    uri.path = 'v3.1/all'    
}

def tempJson = JsonOutput.toJson(http)
def resultParseJson = parseJsonText(tempJson)
def needResult = resultParseJson.translations.ita.common

def parseJsonText(String textJson){
    def jsonSlurper = new JsonSlurper()
    return jsonSlurper.parseText(textJson)
}

needResult -我所需要的。也许有人会有一个更漂亮或正确的解决方案-我会很感激。但到目前为止这个结果是令人满意的。

相关问题