httpclient-MyJsonObject这个是什么,是类吗?

问题描述

MyJsonObject这个是什么,是类吗?

MyJsonObject代表什么,在下面这段代码里面。麻烦给看一下,谢谢

CloseableHttpClient httpclient = HttpClients.createDefault();

HttpGet httpget = new HttpGet("http://localhost/json");

    ResponseHandler<MyJsonObject> rh = new ResponseHandler<MyJsonObject>() {  

        @Override
        public JsonObject handleResponse(
                final HttpResponse response) throws IOException {
            StatusLine statusLine = response.getStatusLine();
            HttpEntity entity = response.getEntity();
            if (statusLine.getStatusCode() >= 300) {
                throw new HttpResponseException(
                        statusLine.getStatusCode(),
                        statusLine.getReasonPhrase());
            }
            if (entity == null) {
                throw new ClientProtocolException("Response contains no content");
            }
            Gson gson = new GsonBuilder().create();
            ContentType contentType = ContentType.getOrDefault(entity);
            Charset charset = contentType.getCharset();
            Reader reader = new InputStreamReader(entity.getContent(), charset);
            return gson.fromJson(reader, MyJsonObject.class);
        }
    };
    MyJsonObject myjson = client.execute(httpget, rh);

解决方案

从倒数第四行代码 :return gson.fromJson(reader, MyJsonObject.class); 可以判断MyJsonObject.class的性质

Gson是google的一个Json库,使用非常简单。在Java中,只要引入包,创建对象就可以用了。

fromJson是Gson提供的一个方法。用来将一个Json数据转换为对象。调用方法是:new Gson().fromJson(Json_string,class);

这里的MyJsonObject.class应该是自定义的一个类,使用Gson就可以直接j将JSON数据封装成这个自定义的类直接使用,不用再手动解析Json里的每一行数据。

解决方案二:

应该是自定义的一个json解析类,http请求返回的数据是json的话,应该能直接被该类解析,现在解析json的方式有多种,可能是完全自己解析,
也有可能是自己的json封装了第三方的解析。

解决方案三:

?在现实世界中,你会经常发现很多独立对象都属于相同类型。可能有数千辆自行车,它们的制造商和型号都相同。每辆自行车都出于相同的蓝图,因此包含相同的组件。在面向对象的术语中,我们说你的自行车是被称为自行车的对象类(class of object)的一个实例(instance)。类(class)是创建独立对象的蓝图。下面的Bicycle类是自行车的一个实现:class Bicycle {......
答案就在这里:类是什么?

时间: 2024-09-20 16:23:35

httpclient-MyJsonObject这个是什么,是类吗?的相关文章

轻松把玩HttpClient之封装HttpClient工具类(一)(现有网上分享中的最强大的工具类)

       搜了一下网络上别人封装的HttpClient,大部分特别简单,有一些看起来比较高级,但是用起来都不怎么好用.调用关系不清楚,结构有点混乱.所以也就萌生了自己封装HttpClient工具类的想法.要做就做最好的,本工具类支持插件式配置Header.插件式配置httpclient对象,这样就可以方便地自定义header信息.配置ssl.配置proxy等.        是不是觉得说的有点悬乎了,那就先看看调用吧: public static void testSimple() thro

《HttpClient官方文档》1.1 执行请求(二)

1.1.4. HTTP 实体 HTTP 消息可以携带与其相关联的请求或响应的内容实体.实体可以在一些请求和响应中找到,因为它们也是可选的.使用了实体的请求被称为封闭实体请求.HTTP规范定义了两种封闭实体的方法: POST 和PUT.响应通常期望包含一个内容实体. 这个规则也有特例,就像HEAD 方法和 204 No Content,304 Not Modified, 205 Reset Content 响应. HttpClient根据其内容来源以此区分三种类型的实体: streamed(流式)

httpclient的疑问求解答!

问题描述 我使用httpclient来爬去固定一些网站的数据信息,由于使用了线程池因此在抓取的时候经常碰到有异常!Exception in thread "pool-226-thread-200" java.lang.IllegalStateException: Invalid use of SingleClientConnManager: connection still allocated.Make sure to release the connection before all

JAVA利用HttpClient进行POST请求(HTTPS)实例_java

最近,需要对客户的接口做一个包装,然后供自己公司别的系统调用,客户接口是用HTTP URL实现的,我想用HttpClient包进行请求,同时由于请求的URL是HTTPS的,为了避免需要证书,所以用一个类继承DefaultHttpClient类,忽略校验过程. 1.写一个SSLClient类,继承至HttpClient package com.pcmall.service.sale.miaomore.impl; import java.security.cert.CertificateExcept

重新想象 Windows 8.1 Store Apps (88) - 通信的新特性: 新的 HttpClient

原文:重新想象 Windows 8.1 Store Apps (88) - 通信的新特性: 新的 HttpClient [源码下载] 重新想象 Windows 8.1 Store Apps (88) - 通信的新特性: 新的 HttpClient 作者:webabcd 介绍重新想象 Windows 8.1 Store Apps 之通信的新特性 新的 HttpClient http get string http get stream http post string http post stre

【Cocos2d-x】Cocos2d-X网络编程-HttpRequest/HttpClient/HttpResponse

Cocos2d-x封装了3个类来处理HTTP请求: HttpRequest,HttpClient和HttpResponse. 使用HttpRequest,HttpClient和HttpResponse这3个类进行Http进行请求时,需要遵循一定流程 请求过程: 1.创建HttpRequest的实例. 2.设置请求方式,Get.Post等.(千万不要以为只有get和post方式哦,这是一般新手以为的,只是其他请求方式我们平时用到的很少) 3.设置请求地址和发送的数据(如果没有发送的数据,可不设置发

微信公众号图片上传-微信公众号上传多媒体文件接口用JAVA怎么实现

问题描述 微信公众号上传多媒体文件接口用JAVA怎么实现 根据图片的描述是通过发送https请求上传图片.微信公众号提供的文档是通过curl命令来实现发送https post请求,但是我现在的程序是通过java程序来发送https post请求.以下是我的3个问题: 1.既然是发送https post请求上传图片,java应该也可以实现,我只实现过java https post的简单请求,没有实现过java https post图片上传.有大神能帮帮我吗? 2.既然微信公众号文档上说是通过cur

启用Tomcat6的隐藏Gzip压缩功能

其實是 tomcat 6 把注释整個拿掉,让大家以为Tomcat对Gzip不再支持,其实不然,大家可以看一下http://tomcat.apache.org/tomcat-6.0-doc/config/http.html就知道,Tomcat依然支持这个功能.<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" />   背景:HTTP 压缩可以大大提高浏览网站的速度,它的原理是,在

《Http Client 官方文档》7. 高级主题

第七章 高级主题 7.1. 自定义客户端连接 在某些情况下,有必要自定义HTTP消息传输的方式来扩展HTTP参数的可使用性,以便能够处理非标准的作业. 例如,对于网络爬虫,可能需要强制HttpClient接受格式不正确的响应头,来捕捉消息的内容. 通常,插入自定义消息解析器或自定义连接实现的过程涉及几个步骤: 提供自定义的"LineParser"/"LineFormatter"接口实现类. 根据需要实现消息解析/格式化逻辑. class MyLineParser e

Android开发实现HttpClient工具类

  在Android开发中我们经常会用到网络连接功能与服务器进行数据的交互,为此Android的SDK提供了Apache的HttpClient来方便我们使用各种Http服务.你可以把HttpClient想象成一个浏览器,通过它的API我们可以很方便的发出GET,POST请求(当然它的功能远不止这些). 比如你只需以下几行代码就能发出一个简单的GET请求并打印响应结果: try { // 创建一个默认的HttpClient HttpClient httpclient = new DefaultHt