我想使用GET请求的响应json作为另一个请求的输入。为此,我收到的响应应该是正确的json格式。我正在使用HttpBuilder来做这件事。
HTTPBuilder http = new HTTPBuilder(urlParam, ContentType.JSON);
http.headers.Accept = ContentType.JSON;
http.parser[ContentType.JSON] = http.parser.'application/json'
return http.request(GET) {
response.success = {resp, json ->
return json.toString()
}
当我返回json.toString()时,它不是一个格式良好的json。我如何实现这一目标。当我点击我的获取网址时,我看到整个json,但没有使用上面的代码。谢谢你的帮助。
答案 0 :(得分:1)
使用groovy.json.JsonOutput
:
HTTPBuilder http = new HTTPBuilder('http://date.jsontest.com/', ContentType.JSON);
http.headers.Accept = ContentType.JSON
http.parser[ContentType.JSON] = http.parser.'application/json'
http.request(Method.GET) {
response.success = { resp, json ->
println json.toString() // Not valid JSON
println JsonOutput.toJson(json) // Valid JSON
println JsonOutput.prettyPrint(JsonOutput.toJson(json))
}
}
结果:
{time=09:41:21 PM, milliseconds_since_epoch=1497303681991, date=06-12-2017}
{"time":"09:41:21 PM","milliseconds_since_epoch":1497303681991,"date":"06-12-2017"}
{
"time": "09:41:21 PM",
"milliseconds_since_epoch": 1497303681991,
"date": "06-12-2017"
}