阿里巴巴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 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
 
简单的测试应用如下:
1.TestPerson.java
package com.pers.fastjson;

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;
}
}

2.TestFastJson.java

package com.pers.fastjson;

import java.util.ArrayList;
import java.util.List; import com.alibaba.fastjson.JSON;//阿里巴巴FastJson是一个Josn处理工具包 包括序列化和反序列化 两部分
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject; public final class TestFastJson { public static void main(String[] args) {
// TODO Auto-generated method stub
TestPerson json = new TestPerson(,"hoobey");
ArrayList<TestPerson> list = new ArrayList<TestPerson>();
list.add(json);
list.add(new TestPerson(,"小米"));
//将集合或者对象序列化为JSON
System.out.println(JSON.toJSON(json));//{"name":"hoobey","age":19}
System.out.println(JSON.toJSON(list));//[{"name":"hoobey","age":19},{"name":"小米","age":12}] //Json串反序列化成对象 // 把JSON文本parse成JSONObject
TestPerson person = JSON.parseObject("{\"name\":\"李明\",\"age\":19}", TestPerson.class);
//name:李明,age:19
System.out.printf("name:%s,age:%d\n",person.getName(),person.getAge()); String str = "[{\"name\":\"李明\",\"age\":19},{\"name\":\"张三\",\"age\":12}]";
//数组对象反序列化成集合 //把JSON文本parse成JavaBean集合
List<TestPerson> listPerson = JSON.parseArray(str,TestPerson.class); for(TestPerson item : listPerson){
System.out.println( item.getName());//李明 张三
System.out.println( item.getAge());// 19 12
} //没有对象直接解析JSON对象 parseObject(String text); // 把JSON文本parse成JSONObject
JSONObject jobj = JSON.parseObject("{\"name\":\"李明\",\"age\":19}");
//name:李明,age:19
System.out.printf("name:%s,age:%d\n",jobj.getString("name"),jobj.getBigInteger("age")); System.out.println("------------------------------");
//没有对象直接解析JSON数组
JSONArray jarr = JSON.parseArray("[{\"name\":\"李明\",\"age\":19},{\"name\":\"张三\",\"age\":12}]");
/*
* name:李明,age:19
name:张三,age:12
*/
for(int i=,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"));
}
/*
* {"name":"李明","age":19}
{"name":"张三","age":12}
*/
for(Object obj:jarr){
System.out.println(obj.toString());
} } }

关于System.out.printf("你好,%s,下年 ,你将会,%f",name,age)的说明:

package com.pers.fastjson;

public class Test {

    public static void main(String[] args) {
// TODO Auto-generated method stub
String name="hoobey";
double age = 24.00;
int age2 = ;
//你好,hoobey,下年 ,你将会,24 岁
System.out.printf("你好,%s,下年 ,你将会,%f",name,age);
System.out.println();
System.out.printf("你好,%s,下年 ,你将会,%d",name,age2);
/*
* 解释:每一个以%开头的格式说明符都用后面给定的相应的参数替换,格式说明符尾部的转会符
将指示被格式化的数值类型:
其中:
f 表示浮点数;
s表示字符串;
d表示十进制数;
*/
} }

Json解析包FastJson使用的更多相关文章

  1. Java的Json解析包FastJson使用

    阿里巴巴FastJson是一个Json处理工具包,包括“序列化”和“反序列化”两部分,它具备如下特征:速度最快,测试表明,fastjson具有极快的性能,超越任其他的Java Json parser. ...

  2. 阿里的Json解析包FastJson使用

    阿里巴巴FastJson是一个Json处理工具包,包括“序列化”和“反序列化”两部分,它具备如下特征: 速度最快,测试表明,fastjson具有极快的性能,超越任其他的Java Json parser ...

  3. Android总结之json解析(FastJson Gson 对比)[申明:来源于网络]

    Android总结之json解析(FastJson Gson 对比)[申明:来源于网络] 地址:http://blog.csdn.net/u014031072/article/details/5392 ...

  4. Android总结之json解析(FastJson Gson 对比)

    前言: 最近为了统一项目中使用的框架,发现项目中用到了两种json解析框架,他们就是当今非常主流的json解析框架:google的Gson 和阿里巴巴的FastJson,为了废除其中一个所以来个性能和 ...

  5. 来自阿里的 json 解析方案 fastjson

    说起Json 解析,有非常多方法,不管是出自Google 的Gson也好,还是来自其它的某某.想必大家都非常熟悉. 今日在github上闲逛.偶遇 一 json 解析库.看起来非常不错,据说是眼下最快 ...

  6. 75、JSON 解析库---FastJson, Gson

    JSON 的简介: JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式.用于数据转换传输, 通用于PHP,Java,C++,C#,Python等编程语言数据交 ...

  7. Android 中的Json解析工具fastjson 、序列化、反序列化

    Android中通常需要访问服务器,然而服务器返回的数据很多时候都是Json格式 1.fastjson简介 阿里巴巴FastJson是一个Json处理工具包,包括“序列化”和“反序列化”两部分,它具备 ...

  8. Json解析之FastJson

    版权声明:转载请注明出处 https://blog.csdn.net/heqiangflytosky/article/details/37659943 1.FastJson介绍 FastJson是阿里 ...

  9. JSON解析工具——fastjson的简单使用

    从官方文档入手: 常见问题与快速上手:https://github.com/alibaba/fastjson/wiki/%E5%B8%B8%E8%A7%81%E9%97%AE%E9%A2%98 各种使 ...

随机推荐

  1. istringstream、ostringstream、stringstream 类介绍 和 stringstream类 clear函数的真正用途

    istringstream.ostringstream.stringstream 类介绍 和 stringstream类 clear函数的真正用途 来源: http://blog.csdn.net/T ...

  2. Highcharts实现图形报表(我主要实现javaweb开发的图形报表)

    官网网址:https://www.hcharts.cn/ 中文版的(参考起来方便,你懂的.):http://www.mamicode.com/info-detail-446038.html 网上已经有 ...

  3. rabbitmq安装及基本操作(含集群配置)

    一.rabbitmq的安装 因为rabbitmq是基于 erlang语言开发,所有要先安装erlang 1.安装erlang 这里我下载的是19.2的版本,地址为https://www.erlang. ...

  4. BZOJ5071 小A的数字 BZOJ2017年10月月赛 其他

    欢迎访问~原文出处——博客园-zhouzhendong 去博客园看该题解 题目传送门 - BZOJ5071 题意概括 题解 一开始蒙了. 感觉做过类似的题目. 但是找不到方法. 突然想到前缀和! 对于 ...

  5. POJ 1655 Balancing Act (求树的重心)【树形DP】(经典)

    <题目链接> 题目大意:给你一棵树,任意去除某一个点后,树被分成了几个联通块,则该点的平衡值为所有分成的连通块中,点数最大的那个,问你:该树所有点中,平衡值最小的那个点是什么? 解题分析: ...

  6. 关于Maven打包Java Web项目以及热部署插件Jrebel的使用

    Java Web/Eclipse/Maven/Tomcat 最近有个新项目是java web项目,记录一下,可能比较乱.虽然没接触过Java,但是eclipse还是用过的 初识项目 同事说,项目是ma ...

  7. C#读取大数据量Excel

    var worksheet = workbook.Worksheets["工作表1"]; var maxN = worksheet.Range["A1"].En ...

  8. C# 中删除控件的事件的方法类

    方法一: 代码 /// <summary> /// 删除指定控件的指定事件 /// </summary> /// <param name="control&qu ...

  9. vue中的dom指令控制

    一.条件控制指令1.v-if,条件渲染 <div id="J_app"> <p v-if="show">显示该标签</p> ...

  10. windows下配置 GNU的gdb调试功能

    1.配置 修改环境变量(前提电脑中存在gdb.exe) 1. 我的电脑->属性->环境......在path那一项后面添加你DEV-C++ Bin目录的路径(gdb.exe所在目录),如: ...