JSON之FastJson

FastJson是什么?

从网上查到---

官网地址:http://code.alibabatech.com/wiki/display/FastJSON/Overview(已关闭)

FastJSOn是阿里巴巴开源的JSON处理工具,包括“序列化”和“反序列化”两部分,它具备如下特征:

  1. 速度最快,测试表明,fastjson具有极快的性能,超越任其他的java json parser。包括自称最快的jackson。
  2. 功能强大,完全支持java bean、集合、Map、日期、Enum,支持范型,支持自省。
  3. 无依赖,能够直接运行在Java SE 5.0以上版本
  4. 支持Android。
  5. 开源 (Apache 2.0)

既然速度快,当然要体验一下。更何况是国产货,当然要支持了。测试一下,以后在项目里使用...

 1 package test;
 2 import java.io.Serializable;
 3 /**
 4  * <一句话功能简述>
 5  * @author  aliger Email:liqimo#gmail.com
 6  * @version  [V1.00, 2014-8-16]
 7  * @see  [相关类/方法]
 8  * @since V1.00
 9  */
10 public class UserInfo implements Serializable{
11     private String name;
12     private int age;
13     public void setName(String name){
14      this.name=name;
15     }
16     public String getName(){
17      return name;
18     }
19     public void setAge(int age){
20      this.age=age;
21     }
22     public int getAge(){
23      return age;
24     }
25 } 

Main:

 1 package test;
 2 import java.util.ArrayList;
 3 import java.util.Date;
 4 import java.util.HashMap;
 5 import java.util.List;
 6 import java.util.Map;
 7 import com.alibaba.fastjson.JSON;
 8 import com.alibaba.fastjson.TypeReference;
 9 import com.alibaba.fastjson.serializer.SerializerFeature;
10 /**
11  * <一句话功能简述>
12  *
13  * @author  aliger Email:liqimo#gmail.com
14  * @version  [V1.00, 2014-8-16]
15  * @see  [相关类/方法]
16  * @since V1.00
17  */
18 public class TestOne
19 {
20     public static FastJsonUtils ff;
21
22      //public static void main(String[] args){
23     public static void test1(){
24           UserInfo info=new UserInfo();
25           info.setName("zhangsan");
26           info.setAge(24);
27           //将对象转换为JSON字符串
28           //String str_json=JSON.toJSONString(info);
29           String str_json=ff.getJsonString(info);
30           System.out.println("JSON="+str_json);
31      }
32      public static void test2() {
33
34          HashMap<String, Object> map = new HashMap<String, Object>();
35          map.put("username", "zhangsan");
36          map.put("age", 24);
37          map.put("sex", "男");
38          //map集合
39          HashMap<String, Object> temp = new HashMap<String, Object>();
40          temp.put("name", "xiaohong");
41          temp.put("age", "23");
42          map.put("girlInfo", temp);
43          //list集合
44          List<String> list = new ArrayList<String>();
45          list.add("爬山");
46          list.add("骑车");
47          list.add("旅游");
48          map.put("hobby", list);
49          /*JSON 序列化,默认序列化出的JSON字符串中键值对是使用双引号,如果需要单引号的JSON字符串, [eg:String jsonString = JSON.toJSONString(map,   SerializerFeature.UseSingleQuotes);]
50           *fastjson序列化时可以选择的SerializerFeature有十几个属性,你可以按照自己的需要去选择使用。
51           */
52          String jsonString = JSON.toJSONString(map);
53          System.out.println("JSON===" + jsonString);
54        }
55      public static void test3(){
56          String json="{\"name\":\"chenggang\",\"age\":24}";
57          //反序列化
58          UserInfo userInfo=JSON.parseObject(json,UserInfo.class);
59          System.out.println("name:"+userInfo.getName()+", age:"+userInfo.getAge());
60          }
61         /**泛型的反序列化*/
62         public static void test4(){
63           String json="{\"user\":{\"name\":\"zhangsan\",\"age\":25}}";
64           Map<String, UserInfo> map = JSON.parseObject(json, new TypeReference<Map<String, UserInfo>>(){});
65           System.out.println(map.get("user"));
66          }
67      public static void test5(){
68          Date date=new Date();
69          //输出毫秒值
70          System.out.println(JSON.toJSONString(date));
71          //默认格式为yyyy-MM-dd HH:mm:ss
72          System.out.println(JSON.toJSONString(date, SerializerFeature.WriteDateUseDateFormat));
73          //根据自定义格式输出日期
74          System.out.println(JSON.toJSONStringWithDateFormat(date, "yyyy-MM-dd", SerializerFeature.WriteDateUseDateFormat));
75        }
76      public static void main(String[] args) {
77         test1();
78         test2();
79         test3();
80         test4();
81         test5();
82     }
83 }

out结果:

1 JSON={"age":24,"name":"zhangsan"}
2 JSON==={"age":24,"girlInfo":{"age":"23","name":"xiaohong"},"hobby":["爬山","骑车","旅游"],"sex":"男","username":"zhangsan"}
3 name:chenggang, age:24
4 [email protected]
5 1408190003876
6 "2014-08-16 19:53:23"
7 "2014-08-16"

JSON之FastJson,布布扣,bubuko.com

时间: 2024-10-08 09:44:53

JSON之FastJson的相关文章

(转)JSON 之FastJson解析

一.阿里巴巴FastJson是一个Json处理工具包,包括“序列化”和“反序列化”两部分,它具备如下特征:速度最快,测试表明,fastjson具有极快的性能,超越任其他的Java Json parser.包括自称最快的JackJson:功能强大,完全支持Java Bean.集合.Map.日期.Enum,支持范型,支持自省:无依赖,能够直接运行在Java SE 5.0以上版本:支持Android:开源 (Apache 2.0) Fastjson API入口类是com.alibaba.fastjso

Json,Gson,FastJson解析笔记

Json 1.将JavaBean转换成Json对象: [java]  view plain  copy public static String CreatJsonFromObject(Object key,Object value) { JSONObject JObj =new JSONObject(); JObj.put(key, value); return JObj.toString(); } 2.解析Json: [html]  view plain  copy public stati

Android原生json和fastjson的简单使用

android原生操作json数据 主要是两个类 JSONObject 操作对象     JONSArray操作json数组 对象转json 1 //创建学生对象 2 Student student=new Student(); 3 student.setAge(23); 4 student.setClazz("六年级"); 5 student.setName("王二麻子"); 6 //创建JSONObject 7 JSONObject jsonObject=new

阿里的json处理--fastjson

import java.util.HashMap; import java.util.List; import java.util.Map; import com.alibaba.fastjson.JSON; /**  * json工具  */ public class JsonUtil {            /**       * 对象转 json       */      public static String toJson( Object o ){            retur

JSON 之FastJson解析

一.阿里巴巴FastJson是一个Json处理工具包,包括“序列化”和“反序列化”两部分,它具备如下特征:速度最快,测试表明,fastjson具有极快的性能,超越任其他的Java Json parser.包括自称最快的JackJson:功能强大,完全支持Java Bean.集合.Map.日期.Enum,支持范型,支持自省:无依赖,能够直接运行在Java SE 5.0以上版本:支持Android:开源 (Apache 2.0) Fastjson API入口类是com.alibaba.fastjso

json jsonlib fastjson jackjosn使用

以下为网络上收集而来 什么是 Json JSON(JvaScript Object Notation)(官网网站:http://www.json.org/)是 一种轻量级的数据交换格式. 易于人阅读和编写.同时也易于机器解析和生成.它基于 JavaScript Programming Language, Standard ECMA-262 3rd Edition - December 1999 的一个子集. JSON 采用完全独立于语言的文本格式,但是也使用了类似于 C 语言家族的习惯(包括C,

net.sf.json与fastjson两种jar包的使用

首先说清楚:这两种方式是进行json解析的两种不同的方式而已,哪一种都可以. 一.引入net.sf.json包 首先用net.sf.json包,当然你要导入很多包来支持commons-beanutils-1.7.0.jar commons-collections-3.1.jar commons-lang-2.5.jar commons-logging.jar ezmorph-1.0.3.jar json-lib-2.1-jdk15.jar,自己百度下载吧 然后使用方法: json串:{\"cod

阿里巴巴Json工具-Fastjson讲解

Fastjson是阿里巴巴公司开源的速度最快的Json和对象转换工具,一个Java语言编写的JSON处理器. 1.遵循http://json.org标准,为其官方网站收录的参考实现之一.2.功能qiang打,支持JDK的各种类型,包括基本的JavaBean.Collection.Map.Date.Enum.泛型.3.无依赖,不需要例外额外的jar,能够直接跑在JDK上.4.开源,使用Apache License 2.0协议开源.http://code.alibabatech.com/wiki/d

高性能JSON库---FastJson(阿里巴巴)

1.FastJSON简介 Fastjson是一个Java语言编写的高性能功能完善的JSON库.它采用一种"假定有序快速匹配"的算法,把JSON Parse的性能提升到极致,是目前Java语言中最快的JSON库. 下载  你可以从以下地址中下载fastjson: Maven中央仓库 http://repo1.maven.org/maven2/com/alibaba/fastjson/ Alibaba OpenSesame开源平台 http://code.alibabatech.com/m