1.FastJSON简介

FastJSOn是阿里巴巴开源的JSON处理工具,大家可以尝试使用一下。

官网地址: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)


2.简单使用

详细使用的话,大家可以去官网看,介绍很详细,而且是中文哦.大笑

使用Maven的话,添加依赖:

		<dependency>
			<groupId>com.alibaba</groupId>
			<artifactId>fastjson</artifactId>
			<version>1.1.36</version>
		</dependency>

下面是简单的测试,参考官网上的数据

package org.ygy.fastjson;

import org.junit.Test;

import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject;
import com.alibaba.fastjson.serializer.SerializerFeature;


public class JSONTest{
	
	/**
	 * 
	 * @author yuguiyang
	 * @description 序列化
	 * @time 2013-9-12
	 * @version 1.0
	 */
	@Test
	public void test2JsonString() {
		User user = new User(100 , "lufei" , "shishi");
		
		String json = JSON.toJSONString(user);
		
		System.out.println(json);
		
	}
	
	/**
	 * 
	 * @author yuguiyang
	 * @description 反序列化为JSONObject对象
	 * @time 2013-9-12
	 * @version 1.0
	 */
	@Test
	public void testParseObject() {
		String json = JSON.toJSONString(new User(1002 , "suolong" , "shishi"));
		
		JSONObject obj = JSON.parseObject(json);
		
		System.out.println(obj);
		System.out.println(obj.get("id"));
		System.out.println(obj.getString("name"));
	}
	
	/**
	 * 
	 * @author yuguiyang
	 * @description 反序列化为JavaBean
	 * @time 2013-9-12
	 * @version 1.0
	 */
	@Test
	public void testParseBean() {
		String json = JSON.toJSONString(new User(1002 , "suolong" , "shishi"));
		
		User user = JSON.parseObject(json , User.class);
		
		System.out.println(user.getId() + " , " + user.getName() + " , " + user.getPassword()); 
	}
	
	/**
	 * 
	 * @author yuguiyang
	 * @description 将JavaBean对象转换为JSON对象
	 * @time 2013-9-12
	 * @version 1.0
	 */
	@Test
	public void test2Json() {
		User user = new User(222 , "qiaoba" , "haha");
		
		JSONObject obj = (JSONObject) JSON.toJSON(user);
		
		System.out.println(obj.get("id") + ","  + obj.get("name"));
	}
	
	@Test
	public void testSeria() {
		User user = new User(222 , "qiaoba" , "haha");
		String json = JSON.toJSONString(user , SerializerFeature.WriteClassName);
		
		
		User juser = (User) JSON.parse(json);
		
		System.out.println(juser);
	}
}



Logo

旨在为数千万中国开发者提供一个无缝且高效的云端环境,以支持学习、使用和贡献开源项目。

更多推荐