`

FastJson简单使用

 
阅读更多
在工作中,经常客服端需要和服务端进行通信,目前很多项目都采用JSON的方式进行数据传输,简单的参数可以通过手动拼接JSON字符串,但如果请求的参数过多,采用手动拼接JSON字符串,出错率就非常大了。并且工作效率也特别低。

我在网上看了一些开源的JSON框架,比如Google提供的Gson,Jackson,FastJson等框架。

经过测试,个人觉得FastJson执行效率比较高,而且简单易用。
FastJson不依赖于第三方包, 直接可以运行在Java JDK1.5之上,FastJson完全支持http://json.org的标准,支持各种JDK类型,包括基本类型、JavaBean、Collection、Map、Enum、泛型等
还支持循环引用。
FastJson项目是开源的:Fastjson代码托管在github.org上,项目地址是 https://github.com/AlibabaTech/fastjson

一个JSON库涉及的最基本功能就是序列化和反序列化。Fastjson支持java bean的直接序列化。使用com.alibaba.fastjson.JSON这个类进行序列化和反序列化。

 

一。简单的序列化

pubic class UserInfo implements Serializable{ 
 private String name; 
 private int age; 
 public void setName(String name){ 
  this.name=name; 
 } 
 public String getName(){ 
  return name; 
 } 
    
 public void setAge(int age){ 
  this.age=age; 
 } 
 public int getAge(){ 
  return age; 
 } 
}  
   
public class TestOne{ 
    
 public static void main(String[] args){ 
  UserInfo info=new UserInfo(); 
  info.setName("zhangsan"); 
  info.setAge(24); 
  //将对象转换为JSON字符串 
  String str_json=JSON.toJSONString(info); 
  System.out.println("JSON="+str_json); 
 } 
   
}

 

二.复杂的数据类型

public static void test2() { 
   
  HashMap<String, Object> map = new HashMap<String, Object>(); 
  map.put("username", "zhangsan"); 
  map.put("age", 24); 
  map.put("sex", "男"); 
     
  //map集合 
  HashMap<String, Object> temp = new HashMap<String, Object>(); 
  temp.put("name", "xiaohong"); 
  temp.put("age", "23"); 
  map.put("girlInfo", temp); 
   
  //list集合 
  List<String> list = new ArrayList<String>(); 
  list.add("爬山"); 
  list.add("骑车"); 
  list.add("旅游"); 
  map.put("hobby", list); 
     
  /*JSON 序列化,默认序列化出的JSON字符串中键值对是使用双引号,如果需要单引号的JSON字符串, [eg:String jsonString = JSON.toJSONString(map,   SerializerFeature.UseSingleQuotes);]
   *fastjson序列化时可以选择的SerializerFeature有十几个属性,你可以按照自己的需要去选择使用。 
   */ 
  String jsonString = JSON.toJSONString(map); 
  System.out.println("JSON=" + jsonString); 
   
}

 

三.反序列化

public void test3(){ 
   
 String json="{\"name\":\"chenggang\",\"age\":24}"; 
 //反序列化 
 UserInfo userInfo=JSON.parseObject(json,UserInfo.class); 
 System.out.println("name:"+userInfo.getName()+", age:"+userInfo.getAge()); 
    
} 
/**泛型的反序列化*/ 
public static void test4(){ 
  String json="{\"user\":{\"name\":\"zhangsan\",\"age\":25}}"; 
  Map<String, UserInfoBean> map = JSON.parseObject(json, new TypeReference<Map<String, UserInfoBean>>(){}); 
  System.out.println(map.get("user")); 
 }

 

//同理, json字符串中可以嵌套各种数据类型。

 

四.日期格式化

public void test5(){ 
   
  Date date=new Date();   
  //输出毫秒值 
  System.out.println(JSON.toJSONString(date)); 
  //默认格式为yyyy-MM-dd HH:mm:ss   
  System.out.println(JSON.toJSONString(date, SerializerFeature.WriteDateUseDateFormat)); 
  //根据自定义格式输出日期  
  System.out.println(JSON.toJSONStringWithDateFormat(date, "yyyy-MM-dd", SerializerFeature.WriteDateUseDateFormat)); 
   
}

 

这里举了几个简单的例子, 其它特殊要求可以根据FastJson的方法的说明,进行选择。

来自:http://blog.csdn.net/yuanjian19900610/article/details/37737087

分享到:
评论

相关推荐

    C#简单快速的json组件fastJSON使用介绍.docx

    使用 fastJSON 非常简单。首先,需要将 fastJSON 组件添加到项目中,然后可以使用 fastJSON 的实例来序列化和反序列化数据。 ```csharp namespace test { class Program { static void Main(string[] args) { ...

    fastjson包和使用说明

    3. **简单易用的API**:Fastjson提供了简洁的API接口,使得开发者可以快速上手。例如,使用`JSON.toJSONString()`可将Java对象转成JSON字符串,`JSON.parseObject()`则可将JSON字符串转换为Java对象。 4. **类型...

    fastjson的一个小例子

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

    fastjson使用

    通过以上介绍,我们对Fastjson的基础使用有了深入了解,无论是简单对象还是复杂结构,都能游刃有余地进行序列化和反序列化操作。在实际开发中,掌握Fastjson能极大地提高我们的开发效率和代码质量。请参考提供的`...

    碎片及fastjson简单应用

    Fastjson的使用非常简单且高效,使得数据交换和序列化变得更加便捷。Fastjson的特性包括: 1. **快速**:Fastjson在性能上优于其他同类库,如Jackson和Gson。 2. **简单**:它的API设计直观易用,只需几行代码就能...

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

    总的来说,SpringBoot 2.0结合Fastjson的使用,极大地提高了JSON处理的效率和便捷性,使得在开发过程中,数据交换变得更加简单和高效。在实际项目中,开发者可以根据需求进一步优化配置,以适应各种复杂的JSON处理...

    Gson和Fastjson 使用Demo

    本文将深入探讨Gson和Fastjson的使用,以及它们各自的特点。 **Gson** Gson是由Google提供的一个开源库,它能够将Java对象转换为JSON字符串,反之亦然。Gson的优点在于其灵活性和易用性。下面是如何使用Gson的基本...

    fastJSON使用.pdf

    FastJSON 的使用非常简单,你可以使用 Maven repository 配置 FastJSON。在 pom.xml 文件中加入依赖:&lt;dependency&gt;&lt;groupId&gt;com.alibaba&lt;/groupId&gt;&lt;artifactId&gt;fastjson&lt;/artifactId&gt;&lt;version&gt;1.1.14&lt;/version&gt;&lt;/...

    fastjson使用实例

    无论是简单的对象转换,还是复杂的JSON操作,Fastjson都能提供高效且简洁的解决方案。在实际项目中,结合提供的API和示例代码(如`FastJsonDemo`),开发者可以快速上手并熟练掌握Fastjson的使用。

    gson,fastjson,jackson简单使用

    使用Gson库进行JSON操作非常简单,以下是一些基本用法: 1. 将对象转换为JSON字符串: ```java import com.google.gson.Gson; public class User { String name; int age; // getters and setters } User ...

    fastjson使用详解.md

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

    fastjson使用详解.txt

    ### fastjson 使用详解 #### 一、概述 `fastjson` 是阿里巴巴开发的一款高性能的 JSON 库,主要用于 Java 对象与 JSON 字符串之间的互相转换。它提供了非常快速且轻量级的序列化和反序列化操作,在 Android 开发和...

    fastjson1.2.2.jar

    本文将围绕Fastjson的核心特性、使用方法以及优化策略展开详细讲解。 一、Fastjson概述 Fastjson是阿里巴巴开源项目中的明星产品,它的主要功能是将Java对象转换为JSON字符串,反之也能将JSON字符串解析为Java对象...

    Android FastJSON小示例

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

    FastJsonJar包解压缩直接使用

    FastJsonJar包是阿里巴巴开发的一款高性能的JSON解析和生成库,尤其在Java世界中被广泛使用。它提供了简单易用的API,使得开发者能够快速地进行JSON与Java对象之间的转换,极大地提高了开发效率。在本篇文章中,我们...

    fastjson所用jar包

    2. **基本用法**:以下是一个简单的示例,展示了如何使用Fastjson将JSON字符串转换为Java对象: ```java import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSONObject; public class Fastjson...

    FastJsonJar

    然而,值得注意的是,尽管FastJsonJar在性能上表现出色,但在某些特定场景下可能不如其他库如Gson或Jackson稳定,因此在实际使用时,应根据项目需求和具体场景选择合适的JSON库。 总的来说,FastJsonJar作为一款...

    java FASTJSON 解析复杂JSON实例源码

    在这个实例中,我们将深入探讨如何使用Fastjson来解析复杂的JSON数据,并通过`JSONTest`这个示例代码来加深理解。 首先,让我们了解什么是JSON。JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,...

    阿里fastjson.jar

    在实际使用中,开发者可以通过以下方式使用Fastjson: - 使用`JSON.parseObject(String jsonString, Class&lt;T&gt; clazz)`将JSON字符串转化为指定类型的Java对象。 - 使用`JSON.toJSONString(Object obj)`将Java对象转化...

Global site tag (gtag.js) - Google Analytics