阿里巴巴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使用的更多相关文章

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

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

  2. Java的Json解析包FastJson使用

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

  3. Json解析包FastJson使用

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

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

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

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

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

  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. oracle中计算百分比,并同时解决小数点前0不显示的问题

    select a.catalog_name,decode(substr(trunc((a.s/b.count2),4)*100||'%',0,1),'.',replace(trunc((a.s/b.c ...

  2. fastAdmin进阶

    基本知识流程一栏链接 bootstrapTable fastadmin系统配置(符内置规则): fastadmin默认的controller已实现的方法 一张图解析fastadmin的表格: fast ...

  3. 比特币源码分析--C++11和boost库的应用

    比特币源码分析--C++11和boost库的应用     我们先停下探索比特币源码的步伐,来分析一下C++11和boost库在比特币源码中的应用.比特币是一个纯C++编写的项目,用到了C++11和bo ...

  4. 新版的 selenium已经放弃PhantomJS改用Chorme headless

    新版的 selenium已经放弃PhantomJS改用Chorme headless   使用pip show selenium显示默认安装的是3.1.3版本目前使用新版selenium调用Phant ...

  5. 问题 L: An Invisible Hand - (2018年第二阶段个人训练赛第三场)

    题目描述 There are N towns located in a line, conveniently numbered 1 through N. Takahashi the merchant ...

  6. 002. Ansible部署及配置介绍

    一 Ansible的安装部署 1.1 PIP方式 安装PIP 略,可参考<001.Pip简介及使用>. 提示:建议将PIP升级到最新:pip install --upgrade pip. ...

  7. 微信小程序开发指南

    https://developers.weixin.qq.com/miniprogram/introduction/#%E4%BA%A7%E5%93%81%E5%AE%9A%E4%BD%8D%E5%8 ...

  8. linux 学习笔记三

    用户管理篇章 useradd 建立用户 一般用法 #useradd mysql 含义 创建 mysql用户 特殊用户 > #useradd -d /usr/cjh -m cjh 含义 创建 cj ...

  9. python基础一 ------利用生成器生成一个可迭代对象

    #利用生成器生成一个可迭代对象#需求:生成可迭代对象,输出指定范围内的素数,利用生成器产生一个可迭代对象#生成器:本身是可迭代的,只是 yield 好比return返回,yield返回后函数冻结状态, ...

  10. BZOJ3324 : [Scoi2013]火柴棍数字

    为了使数字最大,首先要最大化其位数. 设$f[i][j][k]$表示从低到高考虑了$i$位,手头火柴棍个数为$j$,第$i$位是不是$0$时,最少移动多少根火柴. 若$f[i][0][非0]\leq ...