Fastjson
来源:互联网 发布:榕基软件千股千评 编辑:程序博客网 时间:2024/06/05 19:36
1、fastjson是什么?
fastjson是alibaba开源的json解析库,专门用来处理各种json字符串,支持json的序列化和反序列化
2、fastjson的优势?
使用简单、使用广泛、处理json的速度快、生态圈稳定
3、fastjson获取?
maven中央仓库:http://central.maven.org/maven2/com/alibaba/fastjson/
maven项目中直接添加依赖即可
<dependency> <groupId>com.alibaba</groupId> <artifactId>fastjson</artifactId> <version>1.2.21</version></dependency>
4、fastjson的常用API
反序列化
public static <T> List<T> parseArray(String text, Class<T> clazz)public static <T> T parseObject(String text, Class<T> clazz)
序列化
public static String toJSONString(Object object)
5、fastjson实例
public class Test { public static void main(String[] args) { String json = "[{\"prizeType\": \"1\",\"prizeCode\": \"171102162012\"}, {\"prizeType\": \"2\",\"prizeCode\": \"1711141124238734\"}]"; JSONArray arrays = JSON.parseArray(json); for (int i = 0; i < arrays.size(); i++) { Price price = JSON.parseObject(arrays.get(i).toString(), Price.class); System.out.println(price); } List<Price> prices = JSON.parseArray(json, Price.class); System.out.println(prices); Price price = new Price(); price.setPrizeCode("565464"); price.setPrizeType("2"); String res = JSON.toJSONString(price); System.out.println(res); }}
public class Price { private String prizeType; private String prizeCode; public String getPrizeType() { return prizeType; } public void setPrizeType(String prizeType) { this.prizeType = prizeType; } public String getPrizeCode() { return prizeCode; } public void setPrizeCode(String prizeCode) { this.prizeCode = prizeCode; } @Override public String toString() { return "Price{" + "prizeType='" + prizeType + '\'' + ", prizeCode='" + prizeCode + '\'' + '}'; }}
6、fastjson处理日期
String date = JSON.toJSONStringWithDateFormat(new Date(), "yyyy-MM-dd HH:mm:ss")
7、fastjson处理超大json数据
超大json对象序列化
JSONWriter writer = new JSONWriter(new FileWriter("/usr/local/temp.json"));writer.startObject();for (int i = 0; i < 1000 * 1000; ++i) { writer.writeKey("x" + i); writer.writeValue(new VO());}writer.endObject();writer.close();
超大json数组序列化
JSONWriter writer = new JSONWriter(new FileWriter("/usr/local/temp.json"));writer.startArray();for (int i = 0; i < 1000 * 1000; ++i) { writer.writeValue(new VO());}writer.endArray();writer.close();
超大数组反序列化
JSONReader reader = new JSONReader(new FileReader("/usr/local/temp.json"));reader.startArray();while (reader.hasNext()) { VO vo = reader.readObject(VO.class); // TODO ...}reader.endArray();reader.close();
超大对象反序列化
JSONReader reader = new JSONReader(new FileReader("/usr/local/temp.json"));reader.startObject();while (reader.hasNext()) { String key = reader.readString(); VO vo = reader.readObject(VO.class); // handle vo ...}reader.endObject();reader.close();
阅读全文
1 0
- fastJson
- FastJson
- fastjson
- fastjson
- fastjson
- fastjson
- fastjson
- fastJson
- fastjson
- fastjson
- fastJson
- fastjson
- fastjson
- fastjson
- fastjson
- fastjson
- fastJson
- fastJSON
- scikit-learn 中文文档-内核岭回归-监督学习|ApacheCN
- BZOJ 4510: [Usaco2016 Jan]Radio Contact dp
- android TV实现textview跑马灯效果
- web.xml 配置中classpath: 与classpath*:的区别
- let the bollom rise
- Fastjson
- 编写一个JFrame窗口,要求如下: 1. 在窗口的NORTH区放置一个JPanel面板。 2. JPanel面板放置如下组件: (1) JLable标签,标签文本为“兴趣”,右边接着是三个JChec
- Glide-4.3.0 中没有GlideApp的如何操作
- 1025
- React渲染组件
- ZooKeeper的安装与部署 zk遍历所有子节点树
- [腾讯云] 微信序列号生成器架构设计及演变
- HTTP的状态码及含义
- 查看Linux系统版本信息