FastJson 使用详解

转载请标明出处:http://blog.csdn.net/xx326664162/article/details/50315927 文章出自:薛瑄的博客

你也可以查看我的其他同类文章,也会让你有一定的收货!

介绍 JSON

fastJson 下载地址:
作者的git:http://git.oschina.net/wenshao/fastjson
安卓版 jar下载:http://download.csdn.net/detail/xx326664162/9357657

也可以使用java自带的JSON,构造和解析Json
http://www.cnblogs.com/lanxuezaipiao/archive/2013/05/24/3096437.html

FastJson主要类

作用
JSON主要类,一般使用静态方法,序列化java bean序列化为json文本或者json字符串反序列化为相应对象
JSONObjectJson对象
JSONReaderJsonReader,可以在本地读取或者网络读取数据并可以反序列化
JSONWriterJsonWriter,可以将对象序列化Json字符串,写入本地或者发送至服务器
TypeReference*重要, 类型引用在反序列化化很常用

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 JSONArray parseArray(String text); // 把JSON文本parse成JSONArray 


public static final  T parseObject(String text, Class clazz); // 把JSON文本parse为JavaBean 

public static final  List parseArray(String text, Class 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

互相转换

参考:http://blog.csdn.net/shulianghan/article/details/41011605

这里写图片描述

1、json 字符串 与 Java Bean 对象 互相转化 :

  • json 字符串 -> Java Bean 对象 :
//方法
JSON.parseObject(String text, Class<Student> clazz)  

//示例 
Student student = JSON.parseObject(json_student, Student.class);
  • json 字符串 -> Java Bean 集合 :
//方法
 public static final <T> List<T> parseArray(String text, Class<T> clazz) 

//示例
 List<Student> students = JSON.parseArray(json_array, Student.class);  
  • Java Bean 对象 -> json 字符串 :
  • Java Bean 集合 -> json 字符串 :
//方法
JSON.toJSONString(Object object, boolean prettyFormat)  

//示例 
 String format_json = JSON.toJSONString(student, true);

2、Java Bean 对象 与 JSONObject 对象 互相转化 :

  • Java Bean 对象 -> JSONObject 对象 :
//方法
JSON.toJSON(Object javaObject) 

//示例 
JSONObject object = (JSONObject) JSON.toJSON(student_s); 
  • JSONObject 对象 -> Java Bean 对象 (无直接方法实现) :
//方法
JSON.parseObject(jsonObject.toString(), Class<T> clazz) 

先转成字符串, 再转成 Java Bean;

3、json 字符串 与 JSONObject 对象互相转化 :

  • json 字符串 -> JSONObject 对象 :
//方法
JSON.parseObject(String text) 

//示例 
JSONObject object = JSON.parseObject(json_student);
  • JSONObject 对象 -> json 字符串 :
//方法,
JSONObject.toString() 

//示例 
 object.toString();

4、Java Bean 集合 与 JSONArray 对象 互相转化 :

  • Java Bean 集合 -> JSONArray 对象 :
//方法
JSON.toJSON(Object javaObject)  

//示例 
JSONArray array = (JSONArray) JSON.toJSON(students);
  • JSONArray 对象 -> Java Bean 集合 (没有直接转化方法)

先转成 json 字符串, 再转成 Java Bean 集合;

5、json 字符串 与 JSONArray 对象 互相转化 :

  • json 字符串 -> JSONArray 对象 :
//方法
JSON.parseArray(String text) 

//示例 
JSONArray array = JSON.parseArray(json_array);
  • JSONArray 对象 -> json 字符串 :
// 方法
jsonArray.toString();

参考:
http://blog.csdn.net/zimo2013/article/details/10474107
http://blog.sina.com.cn/s/blog_7ffb8dd501013qas.html
http://www.cnblogs.com/hoojo/archive/2011/04/22/2024628.html

关注我的公众号,轻松了解和学习更多技术
这里写图片描述

©️2020 CSDN 皮肤主题: 撸撸猫 设计师:设计师小姐姐 返回首页