FastJson
来源:互联网 发布:怎么找淘宝内购优惠券 编辑:程序博客网 时间:2024/06/10 00:44
今天初步学习了Json,记录一下吧:
这次接触的Json是由Alibaba开发的基于Java的JSON处理器,主要特点是解析速度快
FastJson的入口:com.alibaba.fastjson.JSON, 他提供了一系列用于序列化、反序列化的方法:
public static final Object parse(String text); // 把JSON文本parse为JSONObject或者JSONArray public static final JSONObject parseObject(String text); // 把JSON文本parse成JSONObject public static final T parseObject(String text, Class clazz); // 把JSON文本parse为JavaBean public static final JSONArray parseArray(String text); // 把JSON文本parse成JSONArray public static final List parseArray(String text, Class clazz); //把JSON文本parse成JavaBean集合 public static final String toJSONString(Object object); // 将JavaBean序列化为JSON文本 public static final String toJSONString(Object object, boolean prettyFormat); // 将JavaBean序列化为带格式的JSON文本 public static final Object toJSON(Object javaObject); //将JavaBean转换为JSONObject或者JSONArray。
//此外,还有一个转换为bean对象数组的方法
<pre name="code" class="java">public static final Object <span style="font-family: Arial, Helvetica, sans-serif;">parseObject(JsonString, new TypeReference<VIPHuodong[]>(){})</span>
今天给豆果数据管理平台增加了一个新功能:获取VIP用户的参加过的活动数据,这个活动数据是存储在另一个数据库中的表,配置2个以上数据库上一篇有讲。
用户活动数据在数据库中以Json数据的方式存在:
[{"title":"u738bu7476u6d4bu8bd5u4e13u7528","address":"u7684","id":"23"},{"title":"u82cfu6ccau5c1424CMu597du5e2eu624bTu578bu538bu529bu9505","address":"u7684","id":"4"},{"title":"u8bd5u7528u6d4bu8bd5u554a----","address":"djqiqofp","id":"22"},{"title":"u3010u6d4bu8bd5u4e0du8981u4feeu6539u3011u677eu4e0bu56dbu795eu5668","address":"u53c8u6765u62a5u540du4e86","id":"31"},{"title":"fsdfdsf","address":"u7684u5de5u5546u5730u65b9u516cu53f8","id":"63"},{"title":"","address":"1u4eb2u6253u7b97u53d1u5676u6253u53d1u4f3cu7684","id":"65"},{"title":"","address":";ladsj;ladf","id":"125"},{"title":"","address":"dfgsdfg","id":"133"}]于是呢,我重新定义一个bean,用来存储这些数据:
@SuppressWarnings("serial")public class VIPHuodong implements Serializable { private int id; private String address; private String title; public int getId() {return id;}public void setId(int id) {this.id = id;}public String getAddress() {return address;}public void setAddress(String address) {this.address = address;}public String getTitle() {return title;}public void setTitle(String title) {this.title = title;} }将数据从数据库中取出来,但是取出来的是String类型的数据,这时候就需要fastJson来转换了:
//获取特定用户的活动内容 public List<?> getVipUserHuodong(int userid){ Object[] parms = new Object[]{userid}; List<VIPUserHuodong> list = dgDataJdbcTemplate.query(queryUserHuodong, parms, new VIPUserHuodongRowMapper()); if(0 == list.size()){ return new ArrayList<String>() ; } else { VIPUserHuodong vipUserHuodong = list.get(0) ; String JsonString = vipUserHuodong.getContent() ; VIPHuodong[] vipHuodong = JSON.parseObject(JsonString, new TypeReference<VIPHuodong[]>(){}) ; List<?> huodongList = Arrays.asList(vipHuodong) ; System.out.println(huodongList); return huodongList ; } }这边返回的是一个bean类型的数组,再调用array类的asList方法转换为List集合,这样一来就能把这个list发送给前台,通过JSTL表达式的foreach来遍历他了
目前就了解了这么多,后续再补充 (@DATE 17:50 8/2/2016 , 来豆果的第12天,收获很多~)
0 0
- fastJson
- FastJson
- fastjson
- fastjson
- fastjson
- fastjson
- fastjson
- fastJson
- fastjson
- fastjson
- fastJson
- fastjson
- fastjson
- fastjson
- fastjson
- fastjson
- fastJson
- fastJSON
- Content-Disposition~强制浏览器保存文件
- cloudera client集群部署
- hue beeswax权限管理
- POJ 1251 换成字母编号的最小生成树
- hive常用命令
- FastJson
- impala测试报告
- eclipse常用插件在线安装地址或下载地址
- hive并行导入数据锁问题
- CDH5.0.2升级至CDH5.2.0
- 2016-8-1 学习Unity3D笔记
- POJ 2441 Arrange the Bulls(状态压缩DP入门)
- ios蓝牙开发学习笔记(二)central角色的实现
- hcatalog读取hive数据并写入hive