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

Posted JavaWeb开发技术

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了OkHttp发起网络请求以及JSON/XML与对象的互转相关的知识,希望对你有一定的参考价值。

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

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封装成对象,支持级联属性.

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

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

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

domain/json/IpLocation.java

domain/Location.java

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

4. GET请求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


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

PC阅读文章: ramer.iask.in


有任何疑问,请联系

微信ramer-

QQ1874890499

以上是关于OkHttp发起网络请求以及JSON/XML与对象的互转的主要内容,如果未能解决你的问题,请参考以下文章

教你两分钟Mock OkHttp网络请求(以CSDN官网请求为例)

Okhttp3请求网络开启Gzip压缩

Android:OkHttp同步和异步请求流程的理解和使用

Android网络请求库【OkHttp4.9.3】基本用法与原理分析

Android OkHttp + Retrofit 取消请求的方法

源码解读OkHttp内部剖析探究