Gson使用初探
参考地址:
http://www.stormzhang.com/android/2014/05/22/android-gson/
我的示例代码:
public void doGsonTest(View view) {
//参考文档 http://www.stormzhang.com/android/2014/05/22/android-gson/
Log.d("lsl","doGsonTest"); String JSON_DATA = "{\"id\": 101,\"body\": \"It is my post\",\"number\": 0.13,\"created_at\": \"2014-05-22 19:12:38\"}";
Foo foo = new Gson().fromJson(JSON_DATA, Foo.class);
LogUtil.d("lsl","id="+foo.id+"body="+foo.body+"number="+foo.number+"created_at="+foo.created_at); GsonBuilder gsonBuilder = new GsonBuilder();
gsonBuilder.setDateFormat("yyyy-MM-dd");
Gson gson = gsonBuilder.create();
foo = gson.fromJson(JSON_DATA, Foo.class);
LogUtil.d("lsl","id="+foo.id+"body="+foo.body+"number="+foo.number+"created_at="+foo.created_at); JSON_DATA = "[{\"id\": 102,\"body\": \"It is my post\",\"number\": 0.13,\"created_at\": \"2014-05-22 19:12:38\"},{\"id\": 103,\"body\": \"It is my post\",\"number\": 0.13,\"created_at\": \"2014-05-22 19:12:38\"}]";
Foo[] foos = new Gson().fromJson(JSON_DATA, Foo[].class);
List<Foo> foosList = Arrays.asList(foos);
for(Foo vo : foosList){
LogUtil.d("lsl","id="+vo.id+"body="+vo.body+"number="+vo.number+"created_at="+vo.created_at);
}
LogUtil.d("lsl","============merchandiose=============");
JSON_DATA = "{\"op_type\": 10002,\"code\": \"0\",\"msg\": \"success\",\"data\":[{\"id\": 104,\"name\": \"apple\",\"kind_name\": \"food\",\"price\": 0.13,\"created_at\": \"2014-05-22 19:12:38\"},{\"id\": 105,\"name\": \"orange\",\"kind_name\": \"food\",\"price\": 0.13,\"created_at\": \"2014-05-22 19:12:38\"}]}";
MechandiseListModel mObj = new Gson().fromJson(JSON_DATA, MechandiseListModel.class);
LogUtil.d("lsl","op_type="+mObj.op_type
+"code="+mObj.code
+"msg="+mObj.msg
);
List<Mechandise> mList = mObj.data;
for(Mechandise m : mList){
LogUtil.d("lsl","" +
"id="+m.id+"name="+m.name+"kind_name="+m.kind_name+
"price="+m.price+"created_at="+m.created_at
);
}
}
public class MechandiseListModel {
public int op_type;
public int code;
public String msg;
List<Mechandise> data;
}
public class Mechandise {
public int id;
public String name;
public String kind_name;
public float price;
public String created_at;
} public class Foo {
public int id;
public String body;
public float number;
public String created_at;
}
Gson使用初探的更多相关文章
- 初探领域驱动设计(2)Repository在DDD中的应用
概述 上一篇我们算是粗略的介绍了一下DDD,我们提到了实体.值类型和领域服务,也稍微讲到了DDD中的分层结构.但这只能算是一个很简单的介绍,并且我们在上篇的末尾还留下了一些问题,其中大家讨论比较多的, ...
- CSharpGL(8)使用3D纹理渲染体数据 (Volume Rendering) 初探
CSharpGL(8)使用3D纹理渲染体数据 (Volume Rendering) 初探 2016-08-13 由于CSharpGL一直在更新,现在这个教程已经不适用最新的代码了.CSharpGL源码 ...
- 从273二手车的M站点初探js模块化编程
前言 这几天在看273M站点时被他们的页面交互方式所吸引,他们的首页是采用三次加载+分页的方式.也就说分为大分页和小分页两种交互.大分页就是通过分页按钮来操作,小分页是通过下拉(向下滑动)时异步加载数 ...
- JavaScript学习(一) —— 环境搭建与JavaScript初探
1.开发环境搭建 本系列教程的开发工具,我们采用HBuilder. 可以去网上下载最新的版本,然后解压一下就能直接用了.学习JavaScript,环境搭建是非常简单的,或者说,只要你有一个浏览器,一个 ...
- .NET文件并发与RabbitMQ(初探RabbitMQ)
本文版权归博客园和作者吴双本人共同所有.欢迎转载,转载和爬虫请注明原文地址:http://www.cnblogs.com/tdws/p/5860668.html 想必MQ这两个字母对于各位前辈们和老司 ...
- No-args constructor for class X does not exist. Register an InstanceCreator with Gson for this type to fix this problem.
Gson解析JSON字符串时出现了下面的错误: No-args constructor for class X does not exist. Register an InstanceCreator ...
- React Native初探
前言 很久之前就想研究React Native了,但是一直没有落地的机会,我一直认为一个技术要有落地的场景才有研究的意义,刚好最近迎来了新的APP,在可控的范围内,我们可以在上面做任何想做的事情. P ...
- Gson将字符串转换成JsonObject和JsonArray
以下均利用Gson来处理: 1.将bean转换成Json字符串: public static String beanToJSONString(Object bean) { return new Gso ...
- Gson解析纯Json数组
[ { "type": "123", "value": 123 }, { "type": "234" ...
随机推荐
- Tomcat启动失败的解决方法
在使用Tomcat的时候,经常会遇到启动失败的问题:解决方法:1.检查环境变量的配置,jdk的配置2.检查端口是否被占用. 关于环境变量的配置很容易搜到,如果按照网上的教程配置好了,但是还是启动失败的 ...
- CTreeCtrl点击获得选中项
相应TVN_SELCHANGED可以得到选中的项,在相应函数内如下: LPNMTREEVIEW pNMTreeView = reinterpret_cast<LPNMTREEVIEW>(p ...
- Linux网络管理——子网掩码
1. 网络基础 .note-content {font-family: "Helvetica Neue",Arial,"Hiragino Sans GB",&q ...
- Android GreenDao with Android Studio IDE
转:http://blog.surecase.eu/using-greendao-with-android-studio-ide/ In this tutorial we will show you ...
- MySql: Column 'XXXX' in field list is ambiguous 错误
[Err] 1052 - Column 'XXXX' in field list is ambiguous 例如: SELECT id, a.name, price, `describe`, scho ...
- 调bug时候应该提高思维深度(多问二十个为什么)
版权声明:本文为博主原创文章,未经博主允许不得转载. (一)关于思维深度 读书时 有的人做一份卷子有一份卷子的收获 有的人做100张卷子只有一份卷子的收获 写代码时 有的人调一个Bug可以收获多方面的 ...
- BadgeView使用介绍
前段时间做的一个淘宝客的项目,需要在商品图片上添加价格标签,之前自己使用TextView和Cavas绘制的感觉效果一般,今天偶然在CSDN上发现BadgeView这个开源项目,在git下载下来之后,使 ...
- Java用Dijkstra算法实现地图两点的最短路径查询(Android版)
地图上实现最短路径的查询,据我了解的,一般用Dijkstra算法和A*算法来实现.由于这是一个课程项目,时间比较急,而且自己不熟悉A*算法,所以参考网上的Dijkstra算法(http://blog. ...
- http-关于application/x-www-form-urlencoded等字符编码的解释说明
在Form元素的语法中,EncType表明提交数据的格式 用 Enctype 属性指定将数据回发到服务器时浏览器使用的编码类型. 下边是说明: application/x-www-form-urlen ...
- Lua学习2 Lua小框架的搭建
看了上一篇Lua环境搭建具体http://blog.csdn.net/liuwumiyuhuiping/article/details/9196435 为了方便学习. 具体新开始搭建一下学习的小框架. ...