Android开发中相当便捷的JSON反序列化实现(含源代码) 连带有handler和进度条功能
来源:互联网 发布:淘宝代码生成网站 编辑:程序博客网 时间:2024/05/22 13:42
在开发的应用程序的过程中,我相信json是使用最多的轻量级的数据交换格式,这里我就不介绍有关json的概念了。主要说明一下有关json反序列化的问题,一般情况下我们解析json都是下边这种方式:
try {jObj = new JSONObject(resultString);} catch (JSONException e) {// TODO Auto-generated catch blocke.printStackTrace();}resultString是json类型的字符串,当转化为JSONObject类之后,我们还需要一个一个的去解析数据,
int status =jObj.getInt("Status");String msgString = jObj.getString("Msg");你是不是会感觉到这样很麻烦呢,特别是对于用的比较多的值得时候。谷歌也发现了这个问题,他们开发出了一个json反序列化包。我们可以将返回的键值格式转化为类的格式,这个时候当我们再次使用的时候,就是类名.属性名就可以获取该变量的值了。我在这里摘取几行关键的代码,
//httpget请求返回结果String str = Common.requestApi("此处填写URL地址 ");System.out.println("str" + str);//json反序列化函数MagazineCategoryResp magazineCatagoryList = gson.fromJson(str, MagazineCategoryResp.class);Message message = new Message();message.what = 1;//把类赋值给messagemessage.obj = magazineCatagoryList;//发送handler信息 在handler里面进行接收handler.sendMessage(message);
就这样就可以实现json反序列化了,这是在handler里面进行处理的,一般情况下我们都是通过网络获取json格式的数据的。反序列化之后我们就可以在handler里面接受该类,然后就可以非常方便的使用变量值了。因为URL是公司的,所以我注释掉了,返回值的类型在源代码里我把打印出来信息放到了注释里,这次得到的编码格式不是UTF-8的,大家凑合着看吧。
handler里面处理数据代码
Handler handler = new Handler(){@Overridepublic void handleMessage(Message msg) {switch (msg.what) {case 1://反序列化结果在handler里使用MagazineCategoryResp magazineCatagoryList = (MagazineCategoryResp) msg.obj;//这里打印查看结果 可以以类的方式获取json值System.out.println("Result=" + magazineCatagoryList.data.get(0).name);tvTest.setText(magazineCatagoryList.data.get(0).name);break;}super.handleMessage(msg);}};
结果只是测试用的,所以直接使用了get(0)
这里也使用了handler机制,还有进度条的使用,如果有不懂得可以去论坛里找相关的教程和例子。CSDN上也有很多大牛的博客里也有提及。
代码下载
转载请注明出处http://blog.csdn.net/walker02/article/details/8105936
- Android开发中相当便捷的JSON反序列化实现(含源代码) 连带有handler和进度条功能
- javascript实现json的序列化和反序列化功能
- ASP.NET中JSON的序列化和反序列化(EasyUI开发必须用到的JSON)
- js中json的序列化和反序列化
- .NET Framewok 3.5 中 JSON 序列化和反序列化的简单实现
- .NET Framewok 3.5 中 JSON 序列化和反序列化的简单实现
- .NET Framewok 3.5 中 JSON 序列化和反序列化的简单实现
- .NET Framewok 3.5 中 JSON 序列化和反序列化的简单实现
- .NET Framewok 3.5 中 JSON 序列化和反序列化的简单实现
- .NET Framewok 3.5 中 JSON 序列化和反序列化的简单实现
- .NET Framewok 3.5 中 JSON 序列化和反序列化的简单实现
- Android Json数据的反序列化
- Json工具类--使用json-lib实现json的序列化和反序列化
- Json的序列化和反序列化(一)
- Json的序列化和反序列化(一)
- python的(json序列化和反序列化)
- JavaScriptSerializer序列化和反序列化JSON:使用自定义JavaScriptConverter JSON的序列化和反序列化已经成为Web开发必不可少的知识。现在常用的有Syste
- Json工具类--使用Gson实现了Json的序列化和反序列化
- git reset
- VMDotNet让winforms程序脱离.net framework运行
- 记得依依曾经说过,要做个快乐的天使。
- Red5/FMS视频直播带宽计算[转]
- 关于ResultSet.last()方法报错问题的解决
- Android开发中相当便捷的JSON反序列化实现(含源代码) 连带有handler和进度条功能
- Xcode修改项目名称
- IE10和HTML5 你该了解的那些
- Octave 是写得很优雅的一个软件
- Eclipse Android编程快捷键
- Struts2 unhandled exception
- supervisor 配置文件备忘
- 即时打印SQL包
- linux开启防火墙端口和查看,开启相关和关闭端口号