Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/spring-boot/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Gradle 通过get请求获取json并将响应保存在文件中_Gradle_Groovy - Fatal编程技术网

Gradle 通过get请求获取json并将响应保存在文件中

Gradle 通过get请求获取json并将响应保存在文件中,gradle,groovy,Gradle,Groovy,在梯度任务中,我需要完成三件事: 1) 通过get请求接收json 2) 解析它 3) 保存在一个文件中 第一部分,我试着用这个。我必须像下面这样放置标题,但它不起作用。我知道在github自述中给出的插件示例中,header没有引号,但是如果没有引号,任务也不会正确执行 task attack(type: org._10ne.gradle.rest.RestTask) { httpMethod = 'get' uri = 'https://www.kcell.kz/ru/roa

在梯度任务中,我需要完成三件事:

1) 通过get请求接收json

2) 解析它

3) 保存在一个文件中

第一部分,我试着用这个。我必须像下面这样放置标题,但它不起作用。我知道在github自述中给出的插件示例中,header没有引号,但是如果没有引号,任务也不会正确执行

task attack(type: org._10ne.gradle.rest.RestTask) {
    httpMethod = 'get'
    uri = 'https://www.kcell.kz/ru/roaming/countries'
    contentType = groovyx.net.http.ContentType.JSON
    requestHeaders = ["x-client-token": 'ios']
    responseHandler = {
        println "hello";
    }
}
第二步,我将使用JsonSlurper。在responseHandler中,我将执行
newjsonslurper().parseText(response.text))
不是吗,尽管我不确定在哪里可以找到“response”变量以及该对象是否有“text”。你能给我指一下文件吗。我是gradle插件的新手
关于第三点,是否有插件,或者可以通过直接在task中编写groovy脚本来实现?

给出以下更改:

  • 将任务重命名为
    go
  • 更改了测试URL
  • 删除了
    ios
    请求头
下面是一种方法(responseHandler接收解析JSON的映射):


鉴于以下变化:

  • 将任务重命名为
    go
  • 更改了测试URL
  • 删除了
    ios
    请求头
下面是一种方法(responseHandler接收解析JSON的映射):


不需要插件,Groovy已经具备了您所需要的一切

import groovy.json.JsonSlurper

task go << {
    def headers = [ Accept: 'application/json' ]
    def jsonText = new URL( "http://ip.jsontest.com" ).getText( requestProperties: headers )
    def parsedJson = new JsonSlurper().parseText( jsonText ) as Map
    // use parse Json
    assert parsedJson.ip != null

    new File( 'my-file.json' ).write jsonText
}
import groovy.json.JsonSlurper

task go不需要插件,Groovy提供了您所需要的一切

import groovy.json.JsonSlurper

task go << {
    def headers = [ Accept: 'application/json' ]
    def jsonText = new URL( "http://ip.jsontest.com" ).getText( requestProperties: headers )
    def parsedJson = new JsonSlurper().parseText( jsonText ) as Map
    // use parse Json
    assert parsedJson.ip != null

    new File( 'my-file.json' ).write jsonText
}
import groovy.json.JsonSlurper
任务开始