温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

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

发布时间:2021-10-12 15:19:56 来源:亿速云 阅读:198 作者:柒染 栏目:大数据

这篇文章给大家介绍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与对象的互转就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到。

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI