OKhttp封装 Json数据解析
2017-12-28 11:46
363 查看
简单写了个网络请求工具demo,方便以后新项目有网络需求快速搭建网络框架:
1.添加jar依赖:(可下载demo,从项目中拿,上传的是program,新建个项目导入即可)
配置build.gradle
3.AndroidManifest.xml配置网络权限
4.之后就可有用了,有个简单的post请求范例,图片上传的工具里面有方法:
1)确保接口能用(我这个接口只是简单在我的服务器返回json数据);
2)封装好数据类型,以便json解析工具解析()
模拟的返回数据:(连接百度网站是有数据,证明连接成功,然后用模拟的数据模拟解析过程)
{“code”:”200”,”data”:[{“name”:”外科”,”id”:55,”dictId”:3,”value”:”1”},{“name”:”内科”,”id”:56,”dictId”:3,”value”:”2”},{“name”:”儿科”,”id”:57,”dictId”:3,”value”:”3”},{“name”:”妇产科”,”id”:58,”dictId”:3,”value”:”4”},{“name”:”精神科”,”id”:59,”dictId”:3,”value”:”5”},{“name”:”口腔科”,”id”:60,”dictId”:3,”value”:”6”},{“name”:”耳鼻喉科”,”id”:61,”dictId”:3,”value”:”7”}]}
资源下载地址:
http://download.csdn.net/download/qq_38355313/10177551
1.添加jar依赖:(可下载demo,从项目中拿,上传的是program,新建个项目导入即可)
配置build.gradle
3.AndroidManifest.xml配置网络权限
<uses-permission android:name="android.permission.INTERNET" />
4.之后就可有用了,有个简单的post请求范例,图片上传的工具里面有方法:
1)确保接口能用(我这个接口只是简单在我的服务器返回json数据);
2)封装好数据类型,以便json解析工具解析()
//数据类型封装 /** * Created by lilin on 2016/12/24. * func : */ public class BuzProfession { private String name; private String value; private int id; public int getId() { return id; } public void setId(int id) { this.id = id; } public String getName() { return name; } public void setName(String name) { this.name = name; } public String getValue() { return value; } public void setValue(String value) { this.value = value; } }
//参数初始化 private List<BuzProfession> buzProfession = new ArrayList<>(); private static final String url = "http://113.105.131.249:27017/app/dict/getDepartments";
//请求网路 private void getInternetData() { HashMap map = new HashMap<String, Object>(); map.put("type", 34); HttpHelper.post(url, map, new RequestListener() { @Override public void onResponse(String response) { Log.e("nxm", response); String code = JsonUtils.getFieldValue(response, "code"); String codeResponse = JsonUtils.getFieldValue(response, "data"); if ("200".equals(code)) { //请求成功 parsejson(codeResponse); } else { //清楚错误 } } @Override public void onError(Request request, Exception e) { //请求异常 Log.e("nxm", e.toString()); } }); }
//解析数据 private void parsejson(String codeResponse) { buzProfession = (List<BuzProfession>) JsonUtils.parseJsonToList(codeResponse, new TypeToken<List<BuzProfession>>() { }.getType()); if (buzProfession.size() > 0) { textView.setText(buzProfession.get(0).getName()); } }
模拟的返回数据:(连接百度网站是有数据,证明连接成功,然后用模拟的数据模拟解析过程)
{“code”:”200”,”data”:[{“name”:”外科”,”id”:55,”dictId”:3,”value”:”1”},{“name”:”内科”,”id”:56,”dictId”:3,”value”:”2”},{“name”:”儿科”,”id”:57,”dictId”:3,”value”:”3”},{“name”:”妇产科”,”id”:58,”dictId”:3,”value”:”4”},{“name”:”精神科”,”id”:59,”dictId”:3,”value”:”5”},{“name”:”口腔科”,”id”:60,”dictId”:3,”value”:”6”},{“name”:”耳鼻喉科”,”id”:61,”dictId”:3,”value”:”7”}]}
资源下载地址:
http://download.csdn.net/download/qq_38355313/10177551
相关文章推荐
- 学习笔记 Tianmao 篇 使用简单封装后的自定义OkHttp 获取json被GSON解析后的数据
- OkHttp框架从入门到放弃,解析图片使用Picasso裁剪,二次封装OkHttpUtils,Post提交表单数据
- 学习笔记 Tianmao 篇 OkHttp 网络的使用的简单封装 获取Json用GSON来解析
- xml json 数据封装 传递(序列化) 解析
- OkHttp框架从入门到放弃,解析图片使用Picasso裁剪,二次封装OkHttpUtils,Post提交表单数据
- 项目实战:JSON数据封装与解析及常见问题(文末小彩蛋)
- 【COCOS2D-X(1.X 2.X) Json(cpp版)及新加字体库篇】在Cocos2dx引擎中封装、解析Json(cpp版)数据以及添加自定义字体库 .
- Android的okhttp的post请求,php返回json数据。以及遇到的okhttp dispatcher问题,和json解析遇到的问题
- C++ 使用Json封装数据和解析数据
- json数据格式常用解析和封装方式
- json数据的封装与解析
- java解析json数据(前台json数据封装后台springmvc解析)
- JSON数据解析步骤及封装
- zTree联想终极篇-->将存储树形数据表封装成自定义TreeNode-->将自定义TreeNode解析成JSON树形字串
- jQuery封装解析数据(数组,json对象)
- Json数据封装和解析
- 【COCOS2D-X(1.X 2.X) Json(cpp版)及新加字体库篇】在Cocos2dx引擎中封装、解析Json(cpp版)数据以及添加自定义字体库
- iOS网络开发——解析与封装JSON数据
- 同步异步网络请求封装以及数据JSON解析
- 【快速开发】OKhttp3+fastjson 网络数据的请求与解析