一、简单数据的序列化

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 strJson=JSON.toJSONString(info);
System.out.println("JSON="+strJson);
} }

说明:

  1. 关键部分就是上述部分的JSON.toJSONString();
  2. JSON序列化,默认序列化出的JSON字符串中键值对是使用双引号,如果需要单引号的JSON字符串,[eg:String jsonString = JSON.toJSONString(map,   SerializerFeature.UseSingleQuotes);] fastjson序列化时可以选择的SerializerFeature有十几个属性,你可以按照自己的需要去选择使用。

二、反序列化

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"));
}

三、日期格式化

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)); }

说明:

阿里巴巴提供了很多SerializerFeature.XXX 这些都很符合中国人的习惯。比起Jackson各有优劣!

四、基本常用API

 Fastjson API入口类是com.alibaba.fastjson.JSON,常用的序列化操作都可以在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(和上面方法的区别是返回值是不一样的)

FastJson的用法的更多相关文章

  1. fastjson经常用法

    首先,JSON究竟是什么? JSON就是一串字符串 仅仅只是元素会使用特定的符号标注. {} 双括号表示对象 [] 中括号表示数组 "" 双引號内是属性或值 : 冒号表示后者是前者 ...

  2. Jackson和fastjson简单用法及性能对比

    背景: Java处理JSON数据有三个比较流行的类库FastJSON.Gson和Jackson.fastjson是阿里做的国有开源Java工具包,jackson是spring mvc内置的json转换 ...

  3. fastjson生成和解析json数据,序列化和反序列化数据

    本文讲解2点: 1. fastjson生成和解析json数据 (举例:4种常用类型:JavaBean,List<JavaBean>,List<String>,List<M ...

  4. fastjson生成和解析json数据

    本文讲解2点: 1. fastjson生成和解析json数据 (举例:4种常用类型:JavaBean,List<JavaBean>,List<String>,List<M ...

  5. com.alibaba的fastjson简介

    fastjson简介 Fastjson是一个Java语言编写的高性能功能完善的JSON库.它采用一种“假定有序快速匹配”的算法,把JSON Parse的性能提升到极致,是目前Java语言中最快的JSO ...

  6. Spring boot FastJson

    介绍:FastJson 是ailibaba 的一款解析Json的开源框架 使用方式1 引入jar 包 <dependency>    <groupId>com.alibaba& ...

  7. 高性能JSON框架之FastJson的简单使用

    1.前言 1.1.FastJson的介绍: JSON协议使用方便,越来越流行,JSON的处理器有很多,这里我介绍一下FastJson,FastJson是阿里的开源框架,被不少企业使用,是一个极其优秀的 ...

  8. Java FastJson 介绍

    1.前言 1.1.FastJson的介绍: JSON协议使用方便,越来越流行,JSON的处理器有很多,这里我介绍一下FastJson,FastJson是阿里的开源框架,被不少企业使用,是一个极其优秀的 ...

  9. java FastJson的使用总结

    1.前言 1.1.FastJson的介绍: JSON(javaScript Object Notation)是一种轻量级的数据交换格式.主要采用键值对({"name": " ...

随机推荐

  1. RedHat虚拟机:Vmware Tools的安装

    如果我们仔细看的话,                  就会发现在VMware软件界面的左下角处显示着                  “you don't have VMware Tools in ...

  2. 每个程序员都应该学习使用Python或Ruby

    每个程序员都应该学习使用Python或Ruby 如果你是个学生,你应该会C,C++和Java.还会一些VB,或C#/.NET.多少你还可能开发过一些Web网页,你知道一些HTML,CSS和JavaSc ...

  3. 转:WebDriver(Selenium2) 处理可能存在的JS弹出框

    在自动化测试过程中,有些情况下我们会遇到一些潜在的Javascript弹出框.(即某些条件下才会出现,不是固定出现),然后如果当这种弹出框出现,我们没有加以处理,WebDriver将无法进行下一步的操 ...

  4. opencart配置税率

    1.System->Localisation->Geo Zones新增税收区域 2.System->Localisation->Taxes->Tax Rates新增税率 ...

  5. Android 下得到 未安装APK包含信息 等

    很多情况下,我们需要通过APK文件来得到它的一些信息. (此时此APK不一定被安装了) 0. 基础知识:可以通过android.content.Context的方法 getPackageManager ...

  6. SQL Server2008数据库中删除用户,提示数据库主体在该数据库中拥有 架构,无法删除

    一个数据库,运行在SQL Server 2008下,数据库用户无法删除,在删除时提示“数据库主体在该数据库中拥有架构,无法删除”.原因很简单,就是由于此用户在数据库中拥有某些架构的所有权,将相关架构的 ...

  7. 我的android学习脚步----------- 的第一个应用

    刚刚开始学android开发,以前都是在别人调好的应用中修改JNI,现在需要自己一步步走 开发环境:Eclipse+ADT 配置不多讲了,引自:http://www.cnblogs.com/allen ...

  8. Android Studio调试功能使用总结---转

    Android Studio调试功能使用总结[转]   这段时间一直在使用Intellij IDEA, 今天把调试区工具的使用方法记录于此. 先编译好要调试的程序. 1.设置断点 选定要设置断点的代码 ...

  9. Employment Planning DP

    Employment Planning Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Othe ...

  10. C#+QI的例子

    COM中,和我们打交道的是接口,也就是说类对我们是隐形的,那么我们要做开发,要使用这些功能,我们只能通过接口,通过接口暴露出来的方法,COM是一种服务器端/客户端架构,服务器端定义了操作的法,客户端通 ...