`

fastjson 使用方法

阅读更多
Fastjson介绍

Fastjson是一个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/display/FastJSON/Home

如果获得Fastjson?
SVN:http://code.alibabatech.com/svn/fastjson/trunk/
WIKI:http://code.alibabatech.com/wiki/display/FastJSON/Home
Issue Tracking:http://code.alibabatech.com/jira/browse/FASTJSON

如果你使用了Maven,maven repository配置如下:
<repository>
	<id>opensesame</id>
	<name>Alibaba OpenSource Repsoitory</name>
	<url>http://code.alibabatech.com/mvn/releases/</url>
	<snapshots>
		<enabled>false</enabled>
	</snapshots>
</repository>

pom.xml文件中加入依赖依赖:
<dependency>
	<groupId>com.alibaba</groupId>
	<artifactId>fastjson</artifactId>
	<version>1.0.4</version>
</dependency>

如果没有使用maven,可以直接下载:
http://code.alibabatech.com/mvn/releases/com/alibaba/fastjson/1.0.4/fastjson-1.0.4.jar
http://code.alibabatech.com/mvn/releases/com/alibaba/fastjson/1.0.4/fastjson-1.0.4-sources.jar


使用介绍:
Fastjson的最主要的使用入口是com.alibaba.fastjson.JSON

import com.alibaba.fastjson.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> T parseObject(String text, Class<T> clazz); // 把JSON文本parse为JavaBean
public static final JSONArray parseArray(String text); // 把JSON文本parse成JSONArray
public static final <T> List<T> parseArray(String text, Class<T> 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。

代码示例:
代码示例用到类User和Group:
public class User {
	private Long id;
	private String name;

	public Long getId() { return id; }
	public void setId(Long id) { this.id = id; }

	public String getName() { return name; }
	public void setName(String name) { this.name = name; }
}
public class Group {
	private Long id;
	private String name;
	private List<User> users = new ArrayList<User>();

	public Long getId() { return id; }
	public void setId(Long id) { this.id = id; }

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

	public List<User> getUsers() { return users; }
	public void setUsers(List<User> users) { this.users = users; }
}

Encode代码示例:
import com.alibaba.fastjson.JSON;

Group group = new Group();
group.setId(0L);
group.setName("admin");

User guestUser = new User();
guestUser.setId(2L);
guestUser.setName("guest");

User rootUser = new User();
rootUser.setId(3L);
rootUser.setName("root");

group.getUsers().add(guestUser);
group.getUsers().add(rootUser);

String jsonString = JSON.toJSONString(group);

System.out.println(jsonString);

Decode 代码示例:
Group group2 = JSON.parseObject(jsonString, Group.class);

public class testJson {

    /**
     * @param args
     */
    public static void main(String[] args) {
        // TODO Auto-generated method stub
        String strJson = "{\"sqls\":[{\"sql\":\"INSERT INTO T_BASE_PERSON (PERSON_ID,PERSON_NAME) VALUES (?,?)\",\"values\":\"0dc11abb-967d-11e3-afc0-000c29c3253b,张三\"},{\"sql\":\"UPDATE T_BASE_CLASS SET CLASS_NAME=? WHERE CLASS_ID=?\",\"values\":\"一年一班,538b7ee7-967d-11e3-afc0-000c29c3253b\"}]}";
                
        JSONObject myObj = JSONObject.parseObject(strJson);
        JSONArray myArray = myObj.getJSONArray("sqls");
        for(int i=0;i<myArray.size();i++)
        {
            JSONObject o = myArray.getJSONObject(i);
            System.out.println(o.get("sql"));
            System.out.println(o.get("values"));
        }
        
        String strJson1 = "[{\"sql\":\"INSERT INTO T_BASE_PERSON (PERSON_ID,PERSON_NAME) VALUES (?,?)\",\"values\":\"0dc11abb-967d-11e3-afc0-000c29c3253b,张三\"},{\"sql\":\"UPDATE T_BASE_CLASS SET CLASS_NAME=? WHERE CLASS_ID=?\",\"values\":\"一年一班,538b7ee7-967d-11e3-afc0-000c29c3253b\"}]";
         
         JSONArray myArray1 =JSONArray.parseArray(strJson1);
         for(int j=0;j<myArray1.size();j++)
         {
             JSONObject o1 = myArray1.getJSONObject(j);
             System.out.println(o1.get("sql"));
             System.out.println(o1.get("values"));
         }
        
    }

}
 
分享到:
评论

相关推荐

    java FASTJSON 解析复杂JSON实例源码

    下面是一些关键的Fastjson使用方法: 1. **解析JSON字符串到Java对象** - `JSONObject.parseObject(String jsonString, Class&lt;T&gt; clazz)`:将JSON字符串解析为Java对象,其中`T`是你想要的类类型。 - `JSONArray....

    fastjson 使用方法详细介绍

    作为开源项目,Fastjson使用Apache License 2.0协议进行开源。 Fastjson主要特点包括: 1. 高性能:Fastjson在性能测试中表现优异,适合在对性能有较高要求的场合使用。 2. 功能全面:支持丰富的数据类型转换,并...

    fastjson常用方法

    ### fastjson常用方法 在Java开发中,JSON作为一种轻量级的数据交换格式,被广泛应用于前后端数据交互、配置文件存储等场景。阿里集团推出的fastjson是目前最流行的Java JSON库之一,它不仅性能优越,而且使用起来...

    Java的JSON处理器fastjson使用方法详解

    接着,我们使用`JSON.parseObject()`方法将这个JSON字符串再反序列化回`Group`对象。注意,Fastjson会自动处理Java Bean中的属性映射,除非使用`@JSONField`注解来定制字段名称。 除了基本的序列化和反序列化,...

    fastjson使用

    我们可以使用`Fastjson`的`toJSONString()`方法将`User`对象转换为JSON字符串: ```java User user = new User(); user.setName("John"); user.setAge(30); String jsonString = JSON.toJSONString(user); ``` ##...

    fastjson包和使用说明

    5. **动态操作JSON**:Fastjson还允许动态操作JSON对象,例如通过`JSONObject.get()`和`JSONArray.get()`方法获取值,`JSONObject.put()`和`JSONArray.add()`方法设置或添加值。 以下是一些基本的使用示例: ```...

    fastjson各版本jar包以及使用方法

    此外,避免在不安全的环境中使用`parseObject()`方法,防止恶意输入导致代码执行。 总之,Fastjson作为一款强大的JSON解析库,提供了丰富的功能和优秀的性能。在理解和掌握其基本用法的基础上,深入学习其高级特性...

    Gson和Fastjson 使用Demo

    在Java开发中,数据序列化和反序列化是常见的需求,用于将对象转换为...了解它们的使用方法和特点,可以帮助开发者根据项目需求做出合适的决策。在日常开发中,可以尝试使用这两个库,以提高工作效率并提升代码质量。

    fastjson使用详解.md

    ### Fastjson 使用详解 #### 一、概述 Fastjson 是阿里巴巴开源的一款高性能的 JSON 序列化/反序列化库,旨在提供一个简单且快速的方式来处理 JSON 数据。它支持 Java 泛型、自定义序列化类、任意复杂对象以及预先...

    fastjson使用实例

    10. **线程安全**:Fastjson的设计允许在多线程环境中安全使用,但为了获得最佳性能,建议在单线程或短生命周期的上下文中创建并使用`JSON`实例。 Fastjson的易用性和高性能使得它成为Java开发者处理JSON数据的首选...

    fastjson使用详解.txt

    本文将详细介绍 `fastjson` 的基本使用方法,并通过示例代码进行说明。 #### 二、环境搭建 在使用 `fastjson` 之前,需要将其依赖添加到项目中。对于 Android 项目,可以在 build.gradle 文件中添加如下依赖: ``...

    springboot 使用spring cache缓存 和 使用fastjson配置redis系列化

    在本篇文档中,我们将探讨如何使用Spring Cache来缓存数据,并结合Fastjson配置Redis序列化,确保数据正确存储和读取。 首先,我们需要在`pom.xml`中添加必要的依赖。Spring Boot的`spring-boot-starter-cache`模块...

    fastjson jar 使用详解 实例

    Fastjson是阿里巴巴开发的一款高性能的Java JSON库,它能够实现JSON和Java对象之间的相互转换,极大地简化了JSON在Java应用中的使用。Fastjson的特点在于其高效性和易用性,不仅解析速度较快,而且API设计简洁明了,...

    springboot2.0整合fastjson以及各种使用实例

    3. **使用示例**:在测试类中,我们可以编写各种使用Fastjson的方法。例如: - 序列化:将Java对象转换为JSON字符串。 ```java User user = new User(); user.setName("张三"); user.setAge(25); String json...

    fastjson所用jar包

    在标题提到的"fastjson所用jar包"中,我们讨论的是Fastjson的两个核心jar文件,这些文件通常包含了Fastjson的所有功能,使得开发者能够在自己的项目中便捷地引入和使用Fastjson。 **Fastjson的功能** 1. **解析...

    fastjson完整使用案例

    下面,我们将详细探讨Fastjson的使用方法和特性。 1. **安装与引入** 要使用Fastjson,首先需要将其引入项目。在给定的文件列表中,`fastjson-1.1.22.jar`是Fastjson的库文件,将这个jar包添加到项目的类路径中...

    fastjson的一个小例子

    在这个小例子中,我们将深入探讨FastJson的使用方法,以及它如何帮助开发者在Android开发中快速处理JSON数据。 在Android应用开发中,JSON是一种常见的数据交换格式,用于在服务器和客户端之间传递数据。FastJson以...

    Android FastJSON小示例

    本文将详细介绍如何在Android Studio中使用FastJSON进行JSON解析和生成。 首先,理解JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,它基于ECMAScript的一个子集,采用完全独立于语言的文本格式,...

Global site tag (gtag.js) - Google Analytics