OkHttp发起网络请求以及如何实现JSON/XML与对象的互转

这篇文章给大家介绍OkHttp发起网络请求以及如何实现JSON/XML与对象的互转,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。

创新互联专注于溪湖企业网站建设,响应式网站开发,商城网站建设。溪湖网站建设公司,为溪湖等地区提供建站服务。全流程按需求定制设计,专业设计,全程项目跟踪,创新互联专业和态度为您提供的服务

1.添加okhttp,xtream,fastjson依赖:

OkHttp发起网络请求以及如何实现JSON/XML与对象的互转

Tip:七牛jdk中包含了老版本的okhttp,需要先排除.

2. 配置okHttpClient,让spring自动装配:

放到标注有@Configuration的配置类中统一管理.

OkHttp发起网络请求以及如何实现JSON/XML与对象的互转

自动注入:

@Resource

private OkHttpClient okHttpClient;

3. GET请求JSON数据并封装成对象(记录用户登录的位置(HttpUtil.java):

OkHttp发起网络请求以及如何实现JSON/XML与对象的互转

okHttpClient.newCall(request).execute发起网络请求.

request:

    GET: new Request.Builder().url(url).build();

    POST:RequestBody requestBody = new FormBody.Builder()

                    .add("key","value")

                    .add("key","value")  

                    .build();

                new Request.Builder().post(requestBody).url(url).build();

使用JSON.parseObject(jsonString,object)JSON封装成对象,支持级联属性.

调用淘宝IP地址库: http://ip.taobao.com/service/getIpInfo2.php?ip=xxx ,返回:

OkHttp发起网络请求以及如何实现JSON/XML与对象的互转

获取客户端真实IP地址

参考: http://blog.csdn.net/z69183787/article/details/21187485

OkHttp发起网络请求以及如何实现JSON/XML与对象的互转

将返回信息抽象为一个类就可以自动封装了

domain/json/IpLocation.java

domain/Location.java

Location location = HttpUtil.getLocationByIP(request, okHttpClient);

4. GET请求XML数据并封装成对象:

OkHttp发起网络请求以及如何实现JSON/XML与对象的互转

Tip: 使用XStream转换XML之前,需要先注册对象.

xStream.processAnnotations(Class);

5. 对象转换为JSON:

JSONObject.toJSONString(object)

6. 对象转换为XML:

xStream.processAnnotations(class);

xStream.toXML(object);

Tip:示例源码springboot-thymeleaf: org/ramer/demo/controller/DemoController.java

github: https://github.com/RamerF/spring-web.git

关于OkHttp发起网络请求以及如何实现JSON/XML与对象的互转就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到。


本文标题:OkHttp发起网络请求以及如何实现JSON/XML与对象的互转
当前网址:http://ybzwz.com/article/jjgpeo.html