首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Gaelyk:返回截断的JSON

Gaelyk:返回截断的JSON
EN

Stack Overflow用户
提问于 2014-07-02 20:01:20
回答 1查看 101关注 0票数 0

我正在“传递”从外部服务返回的json提要(在某些情况下相当大),以隐藏对客户端的访问api密钥(访问密钥是该服务的唯一可用身份验证系统)。

我正在使用Gaelyk,我写了这个groovlet:

代码语言:javascript
复制
try {
    feed(params.topic)
} catch(Exception e) {
    redirect "/failure"
}

def feed(topic) {

    URL url = new URL("https://somewhere.com/$topic/<apikey>/feed")
    def restResponse = url.get()

    if (restResponse.responseCode == 200) {
        response.contentType = 'application/json'
        out << restResponse.text
    }
}

唯一的问题是"restResponse“非常大,而由groovlet返回的值被截断。所以我会得到一个像这样的json:

代码语言:javascript
复制
[{"item":....},{"item":....},{"item":....},{"ite

如何在不截断的情况下返回完整的json?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-07-04 06:30:40

我找到了解决方案,问题在开始时( URL内容必须作为流读取)。因此,被截断的内容不是输出,而是输入:

代码语言:javascript
复制
def feed(topic) {
    URL url = "https://somewhere.com/$topic/<apikey>/feed".toURL()
    def restResponse = url.get()

    if (restResponse.responseCode == 200) {
        response.contentType = 'application/json'
        StringBuffer sb = new StringBuffer()
        url.eachLine {
            sb << it
        }
        out << sb.toString()
    }
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/24540015

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档