Json解析,让你不再困扰(非常详细)
来源:互联网 发布:java音乐网站 编辑:程序博客网 时间:2024/05/01 04:59
Json解析的详解
一,用Json解析数据时的步骤:
第一步:先依赖xutils工具类库,在项目的属性中添加,把gson的jar包也变为可依赖的库
第二步:写布局第三步:写bean
第四步:打log检验:
(1)检验其中的一个字符串
WeatherBean bean = gson.fromJson(result, WeatherBean.class);
Log.e("neirong", bean.retData.history.get(0).aqi);
(2)检验bean
processData(responseInfo.result);
Log.e("neirong", responseInfo.result);
第五步:写逻辑进行适配
第六步:不要忘记加网络权限,否则会出现报错retry error, curr request is null
Demo:主要代码展现
public class MainActivity extends Activity { private String url = "http://192.168.26.130:8080/tianqi.json.txt"; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); TextView tv = (TextView) findViewById(R.id.tv); Button bt = (Button) findViewById(R.id.bt); bt.setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { HttpUtils httpUtils = new HttpUtils(); httpUtils.send(HttpMethod.GET, url, null,new RequestCallBack<String>() { @Override public void onSuccess(ResponseInfo<String> responseInfo) { processData(responseInfo.result); Log.e("neirong", responseInfo.result); } @Override public void onFailure(HttpException error, String msg) { } }); } }); } private void processData(String result) { Gson gson = new Gson(); WeatherBean bean = gson.fromJson(result, WeatherBean.class); Log.e("neirong", bean.retData.history.get(0).aqi); } }二,解析过程中需要的对象及过程:
(1)创建Xutils工具类中的的HttpUtils对象,调用send方法,需要四个参数:
第一个参数method:请求方式
第二个参数url:请求数据的url地址
第三个参数params:请求的参数
第四个参数 callBack:请求回调
(2)还需重写RequestCallBack<String>()的两个方法
onSuccess(ResponseInfo<String> responseInfo)和onFailure(HttpException error, String msg)
在这两个方法中做一些请求成功或失败的处理
(3)在onSuccess方法中进行Json解析数据的操作:
Gson gson = new Gson();WeatherBean bean = gson.fromJson(result, WeatherBean.class);Log.e("neirong", bean.retData.history.get(0).aqi)<span style="font-family:SimSun;">;</span>
总结:
检验请求数据是否成功的方法步骤:
(1)请求下来的数据先打一个Log:关于数据的一条内容,如果打印出来的话则说明解析成功,接下来进行第二步
(2)检验Bean是否写对了,Json解析的Bean必须与解析的内容一一对应,只可多不可少,如果将内容打印出来了则说明结果请求成功,即数据解析成功
1 0
- Json解析,让你不再困扰(非常详细)
- 让指针不再困扰你
- 让指针不再困扰你
- 让指针不再困扰你
- 让指针不再困扰你
- 让指针不再困扰你
- 让c语言指针不再困扰你
- 让你不再害怕指针——C指针详解(经典,非常详细)
- 让你不再害怕指针——C指针详解(经典,非常详细)
- 让无效按钮不再困扰
- Gson解析json,让json解析不再困难
- String扩展 让你在PadLeft和PadRight时不再受单双字节问题困扰
- 五大原则让你的代码不再受bug的困扰
- 五大原则让你的代码不再受bug的困扰
- 五大原则让你的代码不再受bug的困扰
- 一篇文章让你学会json和Gson---json全面详细解析
- 让你不再害怕指针(转载)
- 让你不再害怕指针(转载)
- 统计学习的基本概念
- poj 3126 Prime Path (线性素数筛 + bfs)
- 页面中小窗口的设计
- 调试启动winform程序异常:System.BadImageFormatException
- jQuery 知识点 (二) —— jQuery 选择器
- Json解析,让你不再困扰(非常详细)
- win7电脑怎样修改环境变量
- PAT(乙级)1020 完美数列(25)
- linux编程常用函数
- 数据预处理方法
- 自学jsp,servlet遇到的一些问题
- db2建表sql
- Genymotion无法启动虚拟设备的解决办法
- 业务流程管理软件架构分析