闲来无事写JSONのFastJson序列化
来源:互联网 发布:马东为什么离婚知乎 编辑:程序博客网 时间:2024/06/05 09:23
工具:
总结目标是ALI的FastJson
既定目标:
- 有一定的层次,部分属性是XX类
- 有个格式要求:返回一律用code表示返回码,data表示具体的信息,如下
{"data":"xxxx", "code":"200"}
准备
简述序列化本质
获取参数列表->获取参数对应的getter方法,继而获取参数的值->用参数名和参数值进行字符串拼装。(注解什么的类似)
加入依赖包
<dependency> <groupId>com.alibaba</groupId> <artifactId>fastjson</artifactId> <version>1.2.7</version> </dependency>
定义需要序列化的对象
预期目标
{"data":{"whatever":[{"id":"a1","name":"b1"},{"id":"a2","name":"b2"},{"id":"a3","name":"b3"}],"parent":"jsonTest"},"code":"200"}
类定义
重点说明:为篇幅,省略了getter&setter方法
千万记得getter方法,要不序列化就是在呵呵
import java.util.ArrayList;import java.util.List;public class FastJsonTest { String parent; List<InerClass> whatever = new ArrayList<InerClass>(); class InerClass { String id; String name; public InerClass(String id, String name) { this.id = id; this.name = name; } } public void init() { parent = "jsonTest"; whatever.add(new InerClass("a1", "b1")); whatever.add(new InerClass("a2", "b2")); whatever.add(new InerClass("a3", "b3")); } }
定义类统一下JSON的返回格式
public class Result { protected String code; protected Object data; public static String toJson(Object data) { Result result = new Result(); result.setCode("200"); result.setData(data); return JSON.toJSON(result).toString(); }
说明:同样省略了getter、需要结合异常进行Code值的优化
测试
FastJsonTest test = new FastJsonTest();test.init();System.out.println(Result.toJson(test));
测试达到预期,能说预期就是测试结果拷贝出来的么。
0 0
- 闲来无事写JSONのFastJson序列化
- 闲来无事,写篇日志
- 闲来无事,写篇日志
- 闲来无事,写点什么呢?
- 闲来无事写的一个简单的JavaScript日历
- 闲来无事写个PHP5 OOP模型
- 闲来无事写了个在线RSS阅读器
- 闲来无事,写了一个简单的智能指针
- 闲来无事,写的一个扑克发牌程序
- 闲来无事,写了一个比较完整的计算器
- 闲来无事,用C写个朴素贝叶斯
- 中秋闲来无事,自己写个2048玩玩
- 自己闲来无事写一个mvc玩具
- 闲来无事写一个propertiesUtile工具类
- 闲来无事,写了个简易计算器
- 闲来无事就开始写排序算法
- 闲来无事写个多线程例子总结知识
- 闲来无事
- 房地产数据处理笔记
- 庄辰超的势能,梁建章的心力
- Linux 中less的使用
- JAVA
- XML 数据岛实例
- 闲来无事写JSONのFastJson序列化
- git reset --hard回滚之后再滚回去的操作
- python zip 函数
- 客户端程序出现句柄泄露时查找办法
- 软工视频
- linux之stat命令
- 提高web应用性能之JavaScript性能调优
- iOS懒加载
- IOS开发笔记12-指针(下)