用fastjson将数据序列化和反序列化给jfinal的model的方案
2014-10-23 15:31
393 查看
<span style="font-family: Arial, Helvetica, sans-serif; background-color: rgb(255, 255, 255);">阅读过jfinal源码和fastjson支持的解析类型的人应该都知道</span>
jfinal的model是将所有数据存在一个map中,如下是jfinal中model存储数据的地方
/** * Attributes of this model */ private Map<String, Object> attrs = getAttrsMap();
解决方案一:
将model中添加好所有的属性,按照正常的对象来承载我们的数据,再做相应的dao操作
public class Contacts extends Model<Contacts>{ /** * */ private static final long serialVersionUID = 1L; public static Contacts dao = new Contacts(); /** 主键id */ private int id; /** 姓名 */ private String name; /** 号码 */ private String number; /** 组别 */ private String group; /** 备注 */ private String remark; public int getId() { return id; } public void setId(int id) { set("id", id); this.id = id; } public String getName() { return name; } public void setName(String name) { set("name", name); this.name = name; } public String getNumber() { return number; } public void setNumber(String number) { set("number", number); this.number = number; } public String getGroup() { return group; } public void setGroup(String group) { set("group", group); this.group = group; } public String getRemark() { return remark; } public void setRemark(String remark) { set("remark", remark); this.remark = remark; } }
解决方案二:
序列化的时候我们需要得到我们的model中的数据,在model中有一个protected类型的getAttrs方法,所以在我们的controller中无法直接调用
我们在model中写一个public类型的方法来调用这个这个方法
public class Contacts extends Model<Contacts>{ /** * private static final long serialVersionUID = 1L; public static Contacts dao = new Contacts(); public Map<String,Object> getAll() { return this.getAttrs(); } }<span style="font-family: Arial, Helvetica, sans-serif;"> </span>在我们的controller中序列化的代码
// 拼接json StringBuffer jsonResult = new StringBuffer("["); for(int i = 0; i < listContacts.size(); i++) { jsonResult.append(JSON.toJSONString(listContacts.get(i).getAll())); if( !(i == listContacts.size()-1) ){ jsonResult.append(","); } } jsonResult.append("]");
反序列化的代码,(这里我们以删除为例)
List<Map<String, Object>> listMap = JSON.parseObject(jsonStr, new TypeReference<List<Map<String,Object>>>(){}); for(Map<String, Object> list: listMap) { <pre name="code" class="java"><span style="white-space:pre"> </span>Contacts.dao.setAttrs(list).delete();}
*/
相关文章推荐
- fastjson生成和解析json数据,序列化和反序列化数据
- fastjson生成和解析json数据,序列化和反序列化数据
- fastjson生成和解析json数据,序列化和反序列化数据
- fastjson生成和解析json数据,序列化和反序列化数据
- fastjson生成和解析json数据,序列化和反序列化数据
- java中fastjson生成和解析json数据(序列化和反序列化数据)
- fastjson生成和解析json数据,序列化和反序列化数据
- fastjson生成和解析json数据,序列化和反序列化数据
- fastjson生成和解析json数据,序列化和反序列化数据
- fastjson生成和解析json数据,序列化和反序列化数据
- java分享第十三天(fastjson生成和解析json数据,序列化和反序列化数据)
- fastjson生成和解析json数据,序列化和反序列化数据
- c#中对json数据的序列化和反序列化(笔记)
- .NET中JSON数据进行序列化和反序列化
- .NET Framework 3.5中序列化成JSON数据及JSON数据的反序列化,以及jQuery的调用JSON
- .NET中JSON数据进行序列化和反序列化
- .NET Framework 3.5中序列化成JSON数据及JSON数据的反序列化,以及jQuery的调用JSON
- jquery getJSON 数据联动(采用序列化和反序列化获取数据)
- Rhythmk 一步一步学 JAVA(3): java JSON 数据序列化 以及反序列化
- .net json数据序列化/反序列化