Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/336.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/visual-studio-code/3.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
Java 无法使用jersey获取完全JSON_Java_Json_Jersey - Fatal编程技术网

Java 无法使用jersey获取完全JSON

Java 无法使用jersey获取完全JSON,java,json,jersey,Java,Json,Jersey,我正在尝试使用jersey api读取json。这是一个很长的json。 问题是我无法获得完整的json。请查看下面的两个链接以了解更多信息 (10个对象) (很抱歉,因为此对象无法格式化。但它只能获取4个对象和一部分第5个对象。) 这是我获取json的代码: Client client = Client.create(); WebResource resource = client.resource(url); ClientResponse clientResponse

我正在尝试使用jersey api读取json。这是一个很长的json。 问题是我无法获得完整的json。请查看下面的两个链接以了解更多信息

(10个对象)

(很抱歉,因为此对象无法格式化。但它只能获取4个对象和一部分第5个对象。)

这是我获取json的代码:

    Client client = Client.create();
    WebResource resource = client.resource(url);
    ClientResponse clientResponse = resource.accept("application/json").get(ClientResponse.class);

    if(clientResponse.getStatus() != 200) {
        throw new RuntimeException("Failed : HTTP error code : " + clientResponse.getStatus());
    }

    String output = "";
    String response = "";

    BufferedReader br = new BufferedReader(new InputStreamReader(
            (clientResponse.getEntityInputStream())));

    while ((output = br.readLine()) != null) {
        response = response + output;
    }

    br.close();

    return response;

我不知道我做错了什么。

您的客户正在接收完整的输出。您在日志中看到被截断的输出,因为默认情况下启用的LoggingFilter将截断输出

检查此处的构造函数以了解如何设置maxEntitySize


您是否将JSON字符串存储在数据库中?如果这是真的,那么你必须注意列的大小:TEXT、MEDIUMTEXT等。几个月前有这个问题,我的结果和你的一样,所以我编辑了我的数据库。@Nico没有。我不会将它存储在数据库中。只需从服务器获取它,现在就可以在我的页面上显示它。谢谢。你是从哪里用c/p计算实际结果的(控制台,使用sysout;调试器;其他涉及的框架)?你是否尝试过使用一个具体的响应对象,比如MobilePhone.class,而不是ClientResponse.class,这样MessageBodyReader就可以完成它的工作了?我很确定你在LoggingFilter中看到了这一点。除非将输出配置为打印整个实体,否则日志过滤器将截断输出。您正在查看服务器上日志输出中的输出吗?顺便说一句,输出末尾的省略号(…)是一个死角,表明您的输出被截断了。@ChrisHinshaw似乎您是对的。谢谢大家的评论。