移动开发:将json字符串转化为相关对象
2015-12-10 16:40
579 查看
在最近项目中涉及到将json字符串转化为对象集和单个对象,写了一个泛型方法,记录下来【欢迎大家批评指正】
【转载请标明出处:http://blog.csdn.net/mr_woniu/article/details/50251515】
json字符串(举个简单例子,对应一个Message对象):
一、获取一个对象集:
比方说想得到List<Message>对象呢,当然这个集合的话,上面json也就要对应了。Gson能将json转为对象,的确,但总不能每一次都实例化一个Gson吧,下面是这个方式的代码:
调用的代码如下:
调用的相应代码如下:
【转载请标明出处:http://blog.csdn.net/mr_woniu/article/details/50251515】
json字符串(举个简单例子,对应一个Message对象):
[{"id":1,"MsgTitle":"dl","CreateTime":456789,"createId":10,"createname":"admin","acceptid":3,"isreaded":0,"IsDelete":0,"messageid":1,"acceptuser":"李孟琦","PublishDate":123456,"StartTime":null,"EndTime":null}]
一、获取一个对象集:
比方说想得到List<Message>对象呢,当然这个集合的话,上面json也就要对应了。Gson能将json转为对象,的确,但总不能每一次都实例化一个Gson吧,下面是这个方式的代码:public static <M> ArrayList<M> fromJsonList(String json, Class<M> cls) { Gson gson = new Gson(); ArrayList<M> mList = new ArrayList<M>(); JsonArray array = new JsonParser().parse(json).getAsJsonArray(); for (JsonElement elem : array) { mList.add(gson.fromJson(elem, cls)); } return mList; }只要有需要转化为List集合的,直接调用该方法。原理也很简单:参数是一个json字符串和一个泛型,返回值是一个泛型的集合,里面的代码我就不用解释了,相信大家一看就明白了。
调用的代码如下:
List<Message> message = fromJsonList( messageString, Message.class);
二、获取单个对象:
上面的对象集可以获取了,那么单个对象也就一个道理了。下面是方法:<span style="font-size:14px;">public static <cls, M> M fromJsonObject(String json, Class<M> cls) { Gson gson = new Gson(); return gson.fromJson(json, cls); }</span>
调用的相应代码如下:
<span style="font-size:14px;">Message message=fromJsonObject( messageString , Message.class);</span>
相关文章推荐
- js获取图片src的相对地址
- JSON序列化与反序列化对象中条件化的属性
- 使用js生成n到m间的随机数字
- JS数组添加字典的方法
- JS—简单年历表
- jsp分页
- javascript 松散耦合
- JavaScript 操作对象属性(设置属性, setter/getter, 序列化)
- JavaScript之糟粕
- JavaScript之毒瘤
- JS核心系列:浅谈 函数的作用域
- 微软Edge 内嵌的JavaScript 引擎即将开源
- js中 innerHTML与innerText的用法与区别及解决Firefox不支持Js的InnerHtml问题
- 有用的js框架收集
- Javascript 数组常用操作方法
- js过滤文本框中html代码等特殊字符
- gem install json -v '1.8.2' error
- jsp中怎么判断密码中不能含有空格,帐号只能由字母、数字、汉字、下划线“_”组成
- 日常收集整理的JavaScript常用函数方法
- JSON序列化与反序列化没有任何格式或空格缩进的对象