Java的Json解析包FastJson使用
阿里巴巴FastJson是一个Json处理工具包,包括“序列化”和“反序列化”两部分,它具备如下特征:
速度最快,测试表明,fastjson具有极快的性能,超越任其他的Java Json parser。包括自称最快的JackJson;
功能强大,完全支持Java Bean、集合、Map、日期、Enum,支持范型,支持自省;无依赖,能够直接运行在Java SE 5.0以上版本;支持Android;开源 (Apache 2.0)
源码地址:https://github.com/alibaba/fastjson
Fastjson API入口类是com.alibaba.fastjson.JSON,常用的序列化操作都可以在JSON类上的静态方法直接完成。
*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。
package com.test;
public class TestPerson {
private int age;
private String name;
public TestPerson(){
}
public TestPerson(int age,String name){
this.age=age;
this.name=name;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
}
package com.test;
import java.util.*;
import com.alibaba.fastjson.*;
public final class TestFastJson {
public static void main(String[] args) {
// TODO Auto-generated method stub
TestPerson json = new TestPerson(19,"李明");
List<TestPerson> list = new ArrayList<TestPerson>();
list.add(json);
list.add(new TestPerson(12,"张三"));
//将集合或者对象序例化成JSON
System.out.println(JSON.toJSON(json));
System.out.println( JSON.toJSON(list) );
//Json串反序列化成对象
TestPerson person = JSON.parseObject("{\"name\":\"李明\",\"age\":19}", TestPerson.class);
System.out.printf("name:%s,age:%d\n",person.getName(),person.getAge());
String str = "[{\"name\":\"李明\",\"age\":19},{\"name\":\"张三\",\"age\":12}]";
//数组对象反序列化成集合
List<TestPerson> listPerson = JSON.parseArray(str,TestPerson.class);
for(TestPerson item : listPerson){
System.out.println( item.getName() );
System.out.println( item.getAge());
}
//没有对象直接解析JSON对象
JSONObject jobj = JSON.parseObject("{\"name\":\"李明\",\"age\":19}");
System.out.printf("name:%s,age:%d\n",jobj.getString("name"),jobj.getBigInteger("age"));
//没有对象直接解析JSON数组
JSONArray jarr = JSON.parseArray("[{\"name\":\"李明\",\"age\":19},{\"name\":\"张三\",\"age\":12}]");
for(int i=0,len=jarr.size();i<len;i++){
JSONObject temp= jarr.getJSONObject(i);
System.out.printf("name:%s,age:%d\n",temp.getString("name"),temp.getBigInteger("age"));
}
for(Object obj:jarr){
System.out.println(obj.toString());
}
}
}
Java的Json解析包FastJson使用的更多相关文章
- 阿里的Json解析包FastJson使用
阿里巴巴FastJson是一个Json处理工具包,包括“序列化”和“反序列化”两部分,它具备如下特征: 速度最快,测试表明,fastjson具有极快的性能,超越任其他的Java Json parser ...
- Json解析包FastJson使用
阿里巴巴FastJson是一个Json处理工具包,包括“序列化”和“反序列化”两部分,它具备如下特征:速度最快,测试表明,fastjson具有极快的性能,超越任其他的Java Json parser. ...
- Android总结之json解析(FastJson Gson 对比)[申明:来源于网络]
Android总结之json解析(FastJson Gson 对比)[申明:来源于网络] 地址:http://blog.csdn.net/u014031072/article/details/5392 ...
- Android总结之json解析(FastJson Gson 对比)
前言: 最近为了统一项目中使用的框架,发现项目中用到了两种json解析框架,他们就是当今非常主流的json解析框架:google的Gson 和阿里巴巴的FastJson,为了废除其中一个所以来个性能和 ...
- 来自阿里的 json 解析方案 fastjson
说起Json 解析,有非常多方法,不管是出自Google 的Gson也好,还是来自其它的某某.想必大家都非常熟悉. 今日在github上闲逛.偶遇 一 json 解析库.看起来非常不错,据说是眼下最快 ...
- 75、JSON 解析库---FastJson, Gson
JSON 的简介: JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式.用于数据转换传输, 通用于PHP,Java,C++,C#,Python等编程语言数据交 ...
- Java:JSON解析工具-org.json
一.简介 org.json是Java常用的Json解析工具,主要提供JSONObject和JSONArray类,现在就各个类的使用解释如下. 二.准备 1.在使用org.json之前,我们应该先从该网 ...
- Java操作JSON数据(3)--fastjson操作JSON数据
fastjson是阿里巴巴的开源JSON解析库,它可以解析JSON格式的字符串,支持将Java Bean序列化为JSON字符串,也可以从JSON字符串反序列化到JavaBean.本文介绍下fastjs ...
- 几种Java的JSON解析库速度对比
java中哪个JSON库的解析速度是最快的? JSON已经成为当前服务器与WEB应用之间数据传输的公认标准,不过正如许多我们所习以为常的事情一样,你会觉得这是理所当然的便不再深入思考 了.我们很少会去 ...
随机推荐
- 51nod 最小周长
1283 最小周长 题目来源: Codility 基准时间限制:1 秒 空间限制:131072 KB 分值: 5 难度:1级算法题 收藏 关注 一个矩形的面积为S,已知该矩形的边长都是整数,求所有 ...
- StarUML license key
参考博客:http://blog.csdn.net/Excing/article/details/48998891 方法 将StarUML/www/license/node/LicenseManage ...
- jquery获取url参数及url加参数的方法
转--http://www.jb51.net/article/73896.htm <script src="js/jquery-1.7.2.min.js" type=&quo ...
- ABP 索引
官方网站 Github ABP集合贴 @ kebinet https://www.codeproject.com/articles/1115763/using-asp-net-core-entity- ...
- [HTML5] ArrayBuffer与类型化数组
写在前面 这是关于JS二进制操作的第三篇博客,前两篇详见: [HTML5] Blob对象 [HTML5] FileReader对象 此前从宏观角度介绍了如何通过JS创建一个二进制对象,并介绍了如何将本 ...
- Servlet学习笔记
在这里记录最重要的要点 1,tomcat-->conf-->server.xml里面的东西是什么?(tomcat怎么知道“谁”去处理客户端来的请求?) 最主要的是一个依赖的控制,换句话说什 ...
- ADO.NET常用对象
一.Connection对象 Connection对象也称为数据库连接对象,Connection对象的功能是负责对数据源的连接.所有Connection对象的基类都是DbConnection类. Co ...
- Newick format tree
1. all branches + leaf names + internal supports ((D:0.723274,F:0.567784)1.000000:0.067192,(B:0.2793 ...
- 【BZOJ-4245】OR-XOR 按位贪心
4245: [ONTAK2015]OR-XOR Time Limit: 10 Sec Memory Limit: 256 MBSubmit: 486 Solved: 266[Submit][Sta ...
- ubuntu安全卸载移动硬盘(safely remove)
移动磁盘不能安全卸载.在网上找到的资料如下: sudo apt-get install udisks sudo umount /dev/sdb1 sudo udisksctl power-off -b ...