`

fastjson基本操作

    博客分类:
  • json
阅读更多

一、概述
Fastjson是一个Java语言编写的高性能功能完善的JSON库。它采用一种“假定有序快速匹配”的算法,把JSON Parse的性能提升到极致,是目前Java语言中最快的JSON库。Fastjson接口简单易用,已经被广泛使用在缓存序列化、协议交互、Web输出、Android客户端等多种应用场景。
二、环境搭建

Maven搭建
配置pom.xml文件,在dependencies中加入:
<dependency>
    <groupId>com.alibaba</groupId>
    <artifactId>fastjson</artifactId>
    <version>1.2.6</version>
</dependency>

三、实例

1.实体User.java

package com.xu.demo;

import java.util.Date;

import com.alibaba.fastjson.annotation.JSONField;

/**
 * @FileName User.java
 * @version 1.0
 * 
 */
public class User {

	// 设置别名
	// @JSONField(name = "ID")
	// 设置顺序
	@JSONField(ordinal = 0)
	private int id;

	@JSONField(ordinal = 1)
	private String name;

	@JSONField(ordinal = 2)
	private String password;

	// 设置是否序列化
	// @JSONField(serialize = false)
	// 设置日期格式
	@JSONField(format = "yyyy-MM-dd HH:mm:ss", ordinal = 3)
	private Date birthday;

	public int getId() {
		return id;
	}

	public void setId(int id) {
		this.id = id;
	}

	public String getName() {
		return name;
	}

	public void setName(String name) {
		this.name = name;
	}

	public String getPassword() {
		return password;
	}

	public void setPassword(String password) {
		this.password = password;
	}

	public Date getBirthday() {
		return birthday;
	}

	public void setBirthday(Date birthday) {
		this.birthday = birthday;
	}

	@Override
	public String toString() {
		return "User [id=" + id + ", name=" + name + ", password=" + password
				+ ", birthday=" + birthday + "]";
	}

}

 2. 创建一个FastJsonTest.java测试类

package com.xu.demo;

import java.util.Date;
import java.util.List;

import org.junit.Test;

import com.alibaba.fastjson.JSON;

public class FastJsonTest {

	/**
	 * 将java对象转换成json格式字符
	 */
	@Test
	public void testObjectToJson(){
		User user = new User();
		user.setId(1);
		user.setName("zhangsan");
		user.setPassword("123456");
		user.setBirthday(new Date());
		System.out.println(JSON.toJSONString(user));	//序列化user
		System.out.println(JSON.toJSONStringWithDateFormat(user, "yyyy-MM-dd HH:mm:ss")); //对日期处理
	}
	
	
	/**
	 * 将json格式字符换成java对象转
	 */
	@Test
	public void testJsonToObject(){
		String jsonStr = "{\"birthday\":\"1446777436718\",\"id\":1,\"name\":\"zhangsan\",\"password\":\"123456\"}";
		User user = JSON.parseObject(jsonStr,User.class);
		System.out.println(user);
	}
	
	/**
	 * 将json格式字符换成java集合
	 */
	@Test
	public void testJsonToConnection(){
		String jsonStr = "[{\"id\":1,\"name\":\"zhangsan\",\"password\":\"123456\",\"birthday\":\"2015-11-06 11:31:50\"},"
				+ "{\"id\":2,\"name\":\"lisi\",\"password\":\"123456\",\"birthday\":\"2015-11-06 11:31:50\"}]";
		List<User> userList = JSON.parseArray(jsonStr,User.class);
		for(User user : userList){
			System.out.println(user);
		}
	}
	
}

 

分享到:
评论

相关推荐

    FastJsonJar

    通过优化的算法和高效的内存管理,FastJson能够快速地将JSON字符串转化为Java对象,同时也能够将Java对象转化为JSON格式的字符串,这对于频繁进行JSON操作的系统来说,无疑大大提升了效率。 其次,FastJsonJar提供...

    Alibaba Fastjson Jar包.zip

    `JSON`类是Fastjson的核心,提供了基本的JSON操作,如对象与JSON字符串之间的转换,而`JSONArray`则代表一个JSON数组,可以存储多个JSON对象。 Fastjson的主要特点包括: 1. 性能优秀:Fastjson的设计目标就是追求...

    fastjson的一个小例子

    除了基本类型和自定义对象,FastJson还支持数组和集合的转换。例如,将一个User对象列表转换为JSON数组: ```java List&lt;User&gt; userList = new ArrayList(); // 添加User对象... String jsonArrayString = JSON....

    fastjson1.2.2.rar

    1.2.2.jar**:这是 Fastjson 的二进制库文件,开发者可以将其添加到他们的项目类路径中,以便直接使用 Fastjson 提供的 API 进行 JSON 数据的序列化(对象转 JSON 字符串)和反序列化(JSON 字符串转对象)操作。...

    阿里fastjson.jar

    3. **自动类型推断**:Fastjson可以自动识别并处理各种Java类型,包括基本类型、自定义类、集合、Map等。 4. **流式处理**:支持JSON数据的流式读写,适用于大数据量的处理,节省内存资源。 5. **JSONPath支持**:...

    fastjson.jar包

    1. **Fastjson基本使用** - **序列化**: Fastjson可以将Java对象转换为JSON字符串,例如`JSON.toJSONString(obj)`,其中`obj`是Java对象。 - **反序列化**: 相反地,它也能将JSON字符串解析为Java对象,如`JSON....

    fastJSON

    标题中的“fastJSON”指的是一个高性能的JSON库,它由阿里...总的来说,fastJSON是Java开发中不可或缺的工具,它的高效和易用性使得JSON操作变得更加简单。理解和熟练使用fastJSON,对于提升Java开发效率具有显著作用。

    fastjson.pdf

    #### 三、FastJSON基本使用方法 ##### 示例代码 下面是一个简单的FastJSON使用示例: ```java import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSONObject; public class FastJSONExample { ...

    最新fastJSON C#的JSON开发包 v2.1.18

    - FastJSON 支持动态 JSON 对象,允许在运行时创建和操作 JSON 数据。`dynamic` 关键字可以用来直接操作 JSON 对象,无需预先定义数据模型。 4. **自定义序列化策略**: - 开发者可以自定义序列化行为,如忽略...

    fastJsonDemo

    在本示例"fastJsonDemo"中,我们将探讨如何在Android环境中利用FastJson解析和操作JSON数据。 **FastJson的安装与引入** 在Android项目中,我们通常通过Maven或Gradle依赖管理来添加FastJson。如果你的项目使用...

    fastjson1.2.9.zip

    2. **丰富的API**:提供多种API,支持直接操作JSON字符串,如获取JSON对象的属性值,修改JSON对象等。 3. **类型转换**:支持基本类型、自定义类、集合、Map等多种数据类型的转换。 4. **流式处理**:Fastjson支持...

    fastjson-1.2.4.jar

    使用Fastjson的基本步骤包括JSON字符串的解析和生成。例如,将JSON字符串转换为Java对象: ```java String jsonString = "{\"name\":\"John\", \"age\":30}"; JSONObject jsonObject = JSON.parseObject(json...

    fastjson使用

    **Fastjson 深度解析与使用指南** ...通过以上的讲解,你应该对 Fastjson 有了更深入的理解,无论是基础操作还是高级功能,都能得心应手地应用到实际项目中。记住,持续学习和实践是提升技能的关键。

    fastjson-1.2.5.rar

    Fastjson提供了丰富的API用于操作JSON对象,如`put()`, `get()`, `remove()`等,方便地添加、获取或删除JSON对象的键值对。同时,Fastjson还支持JSON数组的操作,如`add()`, `getArray()`, `size()`等,让处理JSON...

    碎片及fastjson简单应用

    使用Fastjson进行JSON操作的基本步骤如下: 1. **序列化**:将Java对象转换为JSON字符串。例如: ```java User user = new User(); user.setName("John"); user.setAge(30); String jsonString = JSON....

    FastJson Json解析利器

    使用FastJson的基本操作包括: - **解析JSON字符串到Java对象**:通过`JSON.parseObject(jsonStr, YourClass.class)`方法,可以将JSON字符串转换为指定类型的Java对象。 - **将Java对象转换为JSON字符串**:使用`...

    fastjson-1.1.26.chm

    以下是一些基本操作示例: 1. **JSON到Java对象**: ```java String jsonString = "{\"name\":\"John\", \"age\":30}"; JSONObject jsonObject = JSON.parseObject(jsonString); String name = jsonObject....

    fastJSON v2.1.23.zip

    1. **Howto.md**:这是一个指导文档,详细介绍了如何使用FastJSON库进行基本操作,包括如何序列化和反序列化对象,以及如何处理JSON路径表达式。 2. **README.md**:这是项目的基本说明,通常包含快速入门指南、...

    fastjson-1.2.40的官方jar包合集【fastjson-1.2.40.jar,fastjson-1.2.40-sources.jar】

    2. **fastjson-1.2.40-sources.jar**:这个文件包含了Fastjson的源代码,对于开发者来说,这是一个宝贵的资源,可以深入理解Fastjson的内部实现,学习如何优化JSON操作,或者在遇到问题时能直接查看源码找到解决方案...

Global site tag (gtag.js) - Google Analytics