fastjson



一、简单数据的序列化

//将对象转换为JSON字符串
  String strJson=JSON.toJSONString(info);

说明:

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

}

四、基本常用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(和上面方法

的区别是返回值是不一样的)