阿里的Json解析包FastJson使用
阿里巴巴FastJson是一个Json处理工具包,包括“序列化”和“反序列化”两部分,它具备如下特征:
速度最快,测试表明,fastjson具有极快的性能,超越任其他的Java Json parser。包括自称最快的JackJson;
功能强大,完全支持Java Bean、集合、Map、日期、Enum,支持范型,支持自省;无依赖,能够直接运行在Java SE .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。
package com.alibaba.fastjson0106; import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject; import java.util.ArrayList;
import java.util.List; /**
* @Author: hoobey
* @Description:
* @Date: Created in 15:07 2018/1/6
* @Modified By:
*/
public class TestFastJson {
public static void main(String[] args) {
TestPerson json = new TestPerson(, "李明");
List<TestPerson> list = new ArrayList<TestPerson>();
list.add(json);
list.add(new TestPerson(, "张三"));
//将集合或者对象序例化成JSON
// System.out.println(JSON.toJSON(json));//{"name":"李明","age":19}
// System.out.println( JSON.toJSON(list) );//[{"name":"李明","age":19},{"name":"张三","age":12}]
//Json串反序列化成对象
TestPerson person = JSON.parseObject("{\"name\":\"李明\",\"age\":19}", TestPerson.class);
// System.out.printf("name:%s,age:%d\n",person.getName(),person.getAge());//name:李明,age:19 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()); //19 12
} //没有对象直接解析JSON对象
JSONObject jobj = JSON.parseObject("{\"name\":\"李明\",\"age\":19}");
// System.out.printf("name:%s,age:%d\n",jobj.getString("name"),jobj.getBigInteger("age"));
//name:李明,age:19 //没有对象直接解析JSON数组
JSONArray jarr = JSON.parseArray("[{'name':'李明','age':18},{'name':'小四','age':21}]");
//和下面使用 转义字符 效果是一致的
/* JSONArray jarr = JSON.parseArray("[{\"name\":\"李明\",\"age\":19},{\"name\":\"张三\",\"age\":12}]");*/
System.out.println(jarr);//[{"name":"李明","age":18},{"name":"小四","age":21}]
for (int i = , len = jarr.size(); i < len; i++) {
JSONObject temp = jarr.getJSONObject(i);
System.out.println(temp.getString("name")+","+temp.getBigInteger("age"));
/* System.out.printf("name:%s,age:%d\n", temp.getString("name"), temp.getBigInteger("age"));*/
//name:李明,age:19 name:张三,age:12
} /*{"name":"李明","age":19}
{"name":"张三","age":12}*/
for (Object obj : jarr) {
System.out.println(obj.toString());
} } }
阿里的Json解析包FastJson使用的更多相关文章
- 来自阿里的 json  解析方案 fastjson
		
说起Json 解析,有非常多方法,不管是出自Google 的Gson也好,还是来自其它的某某.想必大家都非常熟悉. 今日在github上闲逛.偶遇 一 json 解析库.看起来非常不错,据说是眼下最快 ...
 - Java的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,为了废除其中一个所以来个性能和 ...
 - 75、JSON 解析库---FastJson, Gson
		
JSON 的简介: JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式.用于数据转换传输, 通用于PHP,Java,C++,C#,Python等编程语言数据交 ...
 - Android 中的Json解析工具fastjson 、序列化、反序列化
		
Android中通常需要访问服务器,然而服务器返回的数据很多时候都是Json格式 1.fastjson简介 阿里巴巴FastJson是一个Json处理工具包,包括“序列化”和“反序列化”两部分,它具备 ...
 - Json解析之FastJson
		
版权声明:转载请注明出处 https://blog.csdn.net/heqiangflytosky/article/details/37659943 1.FastJson介绍 FastJson是阿里 ...
 - JSON解析工具——fastjson的简单使用
		
从官方文档入手: 常见问题与快速上手:https://github.com/alibaba/fastjson/wiki/%E5%B8%B8%E8%A7%81%E9%97%AE%E9%A2%98 各种使 ...
 
随机推荐
- P1182 数列分段`Section II`   P1316 丢瓶盖  二分答案
			
题目描述 对于给定的一个长度为N的正整数数列A-iA−i,现要将其分成M(M≤N)M(M≤N)段,并要求每段连续,且每段和的最大值最小. 关于最大值最小: 例如一数列4 2 4 5 142451要分成 ...
 - day4 字符串的操作
			
今天是第四天,一如既往的每天都有不会做的内容,然后还是那种你使劲的绞尽脑汁都想不出来的问题,而且还得是别人提示着,讲着,演示着才能明白的,过后自己还得使劲捉摸才能慢慢吃透.一开始还挺顺利的,还以为自己 ...
 - Java大数相加-hdu1047
			
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1047 题目描述: 题意有点绕,但是仔细的读了后就发现是处理大数相加的问题.注意:输入数据有多组,每组输 ...
 - ContentProvider插件化解决方案
			
--摘自<android插件化开发指南> 1.当要传输的数据量大小不超过1M的时候,使用Binder:数据量超过1M时,Binder就搞不定了,需要ContentProvider 2.Co ...
 - The path is not a valid path to the xxx kernel header
			
在安装vmtools时无意中出现了这样的问题 1.gcc错误 Searching for GCC- The path "" is not valid path to the gcc ...
 - Java内存管理-掌握虚拟机类加载机制(四)
			
勿在流沙筑高台,出来混迟早要还的. 做一个积极的人 编码.改bug.提升自己 我有一个乐园,面向编程,春暖花开! 上一篇介绍了整个JVM运行时的区域,以及简单对比了JDK7和JDK8中JVM运行时区域 ...
 - CSS-变量
			
为什么使用 css variables 借用Scrimba上的: easier to get started (no transpiling) have access to the DOM 1.loc ...
 - SpringMVC(二七) 自定义视图
			
可以参考博客http://www.cnblogs.com/parryyang/p/5683600.html,举例很清晰. 对自定义的视图名称匹配不同的解析器进行解析. 作用:自己定义视图,视图继承vi ...
 - ASP.NET MVC 常用路由总结
			
1.URL模式 路由系统用一组路由来实现它的功能,这些路由共同组成了应用系统URL架构或方案,这种URL架构是应用程序能够识别并能对之做出响应的一组URL,当处理一个输入 请求时,路由系统的工作是将这 ...
 - SpringBoot的第一个web项目
			
这一节主要是讲springboot搭建简单的web项目. 首先pom文件新增spring-boot-starter-web依赖,pom文件如下所示 <?xml version="1.0 ...