博客地址 :http://blog.csdn.net/shulianghan/article/details/41011605

fastjson 源码地址 :

-- GitHubhttps://github.com/alibaba/fastjson ;

-- 示例源码https://github.com/alibaba/fastjson/wiki/Samples-DataBind ;

-- Jar下载 : http://sourceforge.net/projects/fastjson/ ;

总结 : 

Java Bean <--> json 字符串 <--> JSONObject 互相转化


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

-- json 字符串 -> Java Bean 对象 : JSON.parseObject(String text, Class<Student> clazz) 方法, 示例 - Student student = JSON.parseObject(json_student, Student.class);

-- Java Bean 对象 -> json 字符串 : JSON.toJSONString(Object object, boolean prettyFormat) 方法, 示例 - String format_json = JSON.toJSONString(student, true);

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;

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

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

-- JSONObject 对象 -> json 字符串 : JSONObject.toString() 方法, 示例 - object.toString();

Java Bean 对象 <--> json 字符串 <--> JSONArray 对象 互相转化

json 字符串 与 Java 集合 互相转化 :

-- json 字符串 -> Java 集合 : JSON.parseObject(String text, Class<Student> clazz) 方法, 示例 - List<Student> students = JSON.parseArray(json_array, Student.class);

-- Java 集合 -> json 字符串toJSONString(Object object, boolean prettyFormat) 方法, 示例 - String json_array = JSON.toJSONString(students, true);

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

-- Java 集合 -> JSONArray 对象 : JSON.toJSON(Object javaObject) 方法, 示例 - JSONArray array = (JSONArray) JSON.toJSON(students);

-- JSONArray 对象 -> Java 集合 (没有直接转化方法) : 先转成 json 字符串, 再转成 Java 集合;

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

-- json 字符串 -> JSONArray 对象 : JSON.parseArray(String text) 方法, 示例 - JSONArray array = JSON.parseArray(json_array);

-- JSONArray 对象 -> json 字符串 : jsonArray.toString() 方法;

一. JSON 简介

1. JSON 结构

(1) 对象

对象简介 :

-- 格式 : 对象定义在 大括号 {} 中, 中间的项由 逗号 隔开, 每个项目都是 key : value  进行的;

-- 示例 : {"age":42,"id":1,"male":true,"name":"Sherlock Holmes","schoolId":1};

-- 格式化后的 :

{
	"age":42,
	"id":1,
	"male":true,
	"name":"Sherlock Holmes",
	"schoolId":1
}

(2) 数组

数组简介 :

-- 数组格式 : 数组放在 中括号[] 中, 在 [] 中有 n 个 {} 元素, 每个元素用 逗号 隔开;

-- 数组示例 : [{"age":42,"id":1,"male":true,"name":"Sherlock Holmes","schoolId":1},{"age":42,"id":2,"male":false,"name":"John Watson","schoolId":1}] ;

-- 输出格式化后的数组 :

[
	{
		"age":42,
		"id":1,
		"male":true,
		"name":"Sherlock Holmes",
		"schoolId":1
	},
	{
		"age":42,
		"id":2,
		"male":false,
		"name":"John Watson",
		"schoolId":1
	}
]

二. JSON 相关用法

1. JSON.toJSONString 方法

(1) JSON.toJSONString(Object object)方法简介

JSON.toJSONString(Object object)方法简介 :

-- 方法定义public static final String toJSONString(Object object) ;

-- 方法作用 : 将 java bean 转为 json 字符串;

-- 方法位置String com.alibaba.fastjson.JSON.toJSONString(Object object) ;

-- 参数介绍 : Object object -> 要转换的实体类对象;

JSON.toJSONString(Object object, boolean prettyFormat)方法简介 :

-- 方法定义public static final String toJSONString(Object object, boolean prettyFormat) ;

-- 方法作用 : 将 java bean 转为 json 字符串, 并将 json 字符串格式化;

-- 方法位置 String com.alibaba.fastjson.JSON.toJSONString(Object object, boolean prettyFormat) ;

-- 参数介绍Object object -> 要转换的实体类对象, boolean prettyFormat -> 是否将 json 字符串格式化 如果 false 与 上面的方法作用相同;

(2) JSON.toJSONString(Object object) 和 JSON.toJSONString(Object object, boolean prettyFormat)方法使用示例

JavaBean 类定义 :

package cn.org.octopus.fastjson.beans;

public class Student {

	private int id;
	private String name;
	private int age;
	private boolean isMale;
	private int schoolId;

	public Student() {
		super();
	}

	public Student(int id, String name, int age, boolean isMale, int schoolId) {
		super();
		this.id = id;
		this.name = name;
		this.age = age;
		this.isMale = isMale;
		this.schoolId = schoolId;
	}

	public int getId() {
		return id;
	}

	public void setId(int id) {
		this.id = id;
	}

	public String getName() {
		return name;
	}

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

	public int getAge() {
		return age;
	}

	public void setAge(int age) {
		this.age = age;
	}

	public boolean isMale() {
		return isMale;
	}

	public void setMale(boolean isMale) {
		this.isMale = isMale;
	}

	public int getSchoolId() {
		return schoolId;
	}

	public void setSchoolId(int schoolId) {
		this.schoolId = schoolId;
	}

	@Override
	public String toString() {
		return "Student [id=" + id + ", name=" + name + ", age=" + age
				+ ", isMale=" + isMale + ", schoolId=" + schoolId + "]";
	}
}

main 函数代码 :

	public static void main(String[] args) {

		//创建一个 Student 对象
		Student student = new Student(1, "Sherlock Holmes", 42, true, 1);
		//将 Student 对象转为 json 字符串
		String json = JSON.toJSONString(student);
		//打印 json 字符串
		System.out.println(json);

		//将 Student 对象转为 json 字符串, 这个字符串是经过格式化的
		String format_json = JSON.toJSONString(student, true);
		//打印格式化的 json
		System.out.println(format_json);

	}

执行结果

-- 第一个结果 : 该结果没有经过格式化, 只是将 json 字符串输出;

-- 第二个结果 : 该结果按照 json 的格式进行格式化了;

{"age":42,"id":1,"male":true,"name":"Sherlock Holmes","schoolId":1}
{
	"age":42,
	"id":1,
	"male":true,
	"name":"Sherlock Holmes",
	"schoolId":1
}

2. JSON.toJSON 方法

(1) JSON.toJSON(Object javaObject) 方法简介

方法简介 :

-- 方法定义public static final Object toJSON(Object javaObject) ;

-- 方法作用 : 将 java bean 对象转为 JSONObject 对象, 或者将 集合 转为 JSONArray 对象;

-- 方法位置 Object com.alibaba.fastjson.JSON.toJSON(Object javaObject) ;

-- 参数介绍 : Object javaObject -> java bean 对象 或者 集合;

关键代码解析 :

-- Java Bean 转 JSONObjectJSONObject object = (JSONObject) JSON.toJSON(student_s);

-- Java 集合 转 JSONArray JSONArray array = (JSONArray) JSON.toJSON(students);

JSONOject 和 JSONArray 打印 : 这两种对象 打印本身, toString() 以及 toJSONString() 都是相同的结果, 详见下面的示例;

(2) 示例

Student 实体类 : 在 一. 1. (2) 中有定义, 直接使用该实体类即可;

Main() 示例 :

public class Main {

	//该字符串是 {"age":42,"id":1,"male":true,"name":"Sherlock Holmes","schoolId":1} 注意将 " 转为 \"
	public static final String json_student =  "{\"age\":42,\"id\":1,\"male\":true,\"name\":\"Sherlock Holmes\",\"schoolId\":1}";

	public static void main(String[] args) {

		//创建一个 Student 对象
		Student student_s = new Student(1, "Sherlock Holmes", 42, true, 1);
		//将 java bean 对象转为 JSONObject 对象
		JSONObject object = (JSONObject) JSON.toJSON(student_s); 

		//JSONObject 直接打印, 打印 toString() 或者 toJSONString() 输出结果是一样的
		System.out.println(object + " -- 打印 JSONOBject 本身");
		System.out.println(object.toString() + " -- 打印 JSONOBject.toString()");
		System.out.println(object.toJSONString() + " -- 打印 JSONOBject.toJSONString()");

		//再创建一个 Student 对象
		Student student_j = new Student(2, "John Watson", 42, false, 1);
		//将两个 Student 对象放到 List 集合中
		List<Student> students = new ArrayList<Student>();
		students.add(student_s);
		students.add(student_j);
		//将 List 集合对象转为 JSONArray 对象
		JSONArray array = (JSONArray) JSON.toJSON(students);

		//JSONArray 直接打印, 打印 toString() 或者 toJSONString() 输出结果是一样的
		System.out.println(array + " -- 打印 JSONArray 本身");
		System.out.println(array.toString() + " -- 打印 JSONArray.toString()");
		System.out.println(array.toJSONString() + " -- 打印 JSONArray.toJSONString()");

}

执行结果

{"age":42,"id":1,"male":true,"name":"Sherlock Holmes","schoolId":1} -- 打印 JSONOBject 本身
{"age":42,"id":1,"male":true,"name":"Sherlock Holmes","schoolId":1} -- 打印 JSONOBject.toString()
{"age":42,"id":1,"male":true,"name":"Sherlock Holmes","schoolId":1} -- 打印 JSONOBject.toJSONString()
[{"age":42,"id":1,"male":true,"name":"Sherlock Holmes","schoolId":1},{"age":42,"id":2,"male":false,"name":"John Watson","schoolId":1}] -- 打印 JSONArray 本身
[{"age":42,"id":1,"male":true,"name":"Sherlock Holmes","schoolId":1},{"age":42,"id":2,"male":false,"name":"John Watson","schoolId":1}] -- 打印 JSONArray.toString()
[{"age":42,"id":1,"male":true,"name":"Sherlock Holmes","schoolId":1},{"age":42,"id":2,"male":false,"name":"John Watson","schoolId":1}] -- 打印 JSONArray.toJSONString()

3. JSON.parseArray 方法

(1) JSON.parseArray 方法简介

JSONArray parseArray(String text)方法简介 :

-- 方法定义public static final JSONArray parseArray(String text) ;

-- 方法作用 : 将 json 字符串转为 JSONArray 对象;

-- 方法位置JSONArray com.alibaba.fastjson.JSON.parseArray(String text) ;

-- 参数介绍String text -> json 字符串 ;

<T> List<T> parseArray(String text, Class<T> clazz) 方法简介 :

-- 方法定义 : public static final <T> List<T> parseArray(String text, Class<T> clazz) ;

-- 方法作用 : 将 json 字符串转为 List 集合;

-- 方法位置<T> List<T> com.alibaba.fastjson.JSON.parseArray(String text, Class<T> clazz) ;

-- 参数介绍String text -> json 字符串,  Class<T> clazz -> 集合元素类型;

(2) 代码示例

Main() 代码 :

	//字符串内容 [{"age":42,"id":1,"male":true,"name":"Sherlock Holmes","schoolId":1},{"age":42,"id":2,"male":false,"name":"John Watson","schoolId":1}]
	public static final String json_array = "[{\"age\":42,\"id\":1,\"male\":true,\"name\":\"Sherlock Holmes\",\"schoolId\":1},{\"age\":42,\"id\":2,\"male\":false,\"name\":\"John Watson\",\"schoolId\":1}]";

	public static void main(String[] args) {

		//将 json 字符串转为 JSONArray 对象
		JSONArray array = JSON.parseArray(json_array);
		//打印 JSONArray 对象
		System.out.println(array);

		//将 json 字符串转为 List 集合
		List<Student> students = JSON.parseArray(json_array, Student.class);
		//打印 List 集合大小
		System.out.println("students.size() : " + students.size());
		//遍历 List 集合中的元素
		for(Student student : students)
			System.out.println(student.toString());

	}

执行结果

[{"age":42,"id":1,"male":true,"name":"Sherlock Holmes","schoolId":1},{"age":42,"id":2,"male":false,"name":"John Watson","schoolId":1}]
students.size() : 2
Student [id=1, name=Sherlock Holmes, age=42, isMale=true, schoolId=1]
Student [id=2, name=John Watson, age=42, isMale=false, schoolId=1]

4.  JSON.parseObject 方法

(1) JSON.parseObject 方法简介

JSONObject parseObject(String text) 方法简介 :

-- 方法定义 public static final JSONObject parseObject(String text);

-- 方法作用 : 将 json 字符串类型转化为 JSONObject 对象;

-- 方法位置JSONObject com.alibaba.fastjson.JSON.parseObject(String text);

-- 参数介绍String text -> json 字符串;

<T> T parseObject(String text, Class<T> clazz) 方法简介 :

-- 方法定义public static final <T> T parseObject(String text, Class<T> clazz);

-- 方法作用 : 将 json 字符串转为指定类型的 java bean 对象;

-- 方法位置<T> T com.alibaba.fastjson.JSON.parseObject(String text, Class<T> clazz);

-- 参数介绍String text -> json 字符串Class<T> clazz -> 要转化的 java bean 对象类型;

(2) 方法示例

Main() 方法 :

	//该字符串是 {"age":42,"id":1,"male":true,"name":"Sherlock Holmes","schoolId":1} 注意将 " 转为 \"
	public static final String json_student =  "{\"age\":42,\"id\":1,\"male\":true,\"name\":\"Sherlock Holmes\",\"schoolId\":1}";

	public static void main(String[] args) {

		//将 json 字符串转为 JSONObject 对象
		JSONObject object = JSON.parseObject(json_student);
		//打印 JSONObject 对象
		System.out.println(object);

		//将 json 字符串转为 Student 对象
		Student student = JSON.parseObject(json_student, Student.class);
		//打印 Student 对象
		System.out.println(student.toString());

	}

执行结果

{"age":42,"id":1,"male":true,"name":"Sherlock Holmes","schoolId":1}
Student [id=1, name=Sherlock Holmes, age=42, isMale=true, schoolId=1]

5. JSON.parse 方法

(1) Object parse(String text) 方法简介

方法简介 :

-- 方法定义public static final Object parse(String text);

-- 方法作用 : 将 json 字符串转为 JSONObject 或者 JSONArray 对象;

-- 方法位置Object com.alibaba.fastjson.JSON.parse(String text);

-- 参数介绍 : String text -> json 字符串;

(2) 代码示例

Main() 方法 :

	//该字符串是 {"age":42,"id":1,"male":true,"name":"Sherlock Holmes","schoolId":1} 注意将 " 转为 \"
	public static final String json_student =  "{\"age\":42,\"id\":1,\"male\":true,\"name\":\"Sherlock Holmes\",\"schoolId\":1}";

	public static void main(String[] args) {

		//将 json 字符串转为 JSONObect 对象
		JSONObject object = (JSONObject) JSON.parse(json_student);
		//打印 JSONObject 对象
		System.out.println(object);

		//将 json 字符串 转为 JSONArray 对象
		JSONArray array = (JSONArray) JSON.parse(json_array);
		//打印 JSONArray 对象
		System.out.println(array);

	}

运行结果

{"age":42,"id":1,"male":true,"name":"Sherlock Holmes","schoolId":1}
[{"age":42,"id":1,"male":true,"name":"Sherlock Holmes","schoolId":1},{"age":42,"id":2,"male":false,"name":"John Watson","schoolId":1}]

三. JSONObject 相关用法

1. JSONObject 方法介绍

相关方法介绍 :

-- 获取 JSONObject 中元素 : 获取 String 就调用 jsonObject.getString("key"), 获取 boolean 调用 jsonObject.getBoolean("key"), 同理还可以获取其它类型的数据;

-- 向 JSONObject 中添加元素object.put("action", "fuck");

-- 向 JSONObject 中添加多个元素 : 将一个 Map 集合添加到 JSONObject 中, Map 集合的键必须是 String 类型;

		//向 JSONObject 对象中添加多个属性
		Map<String, String> map = new HashMap<String, String>();
		map.put("home", "American");
		map.put("school", "harvard");
		object.putAll(map);

-- 移除 JSONObject 中的属性 : jsonObject.remove("key"), 参数是 键;

-- 获取 JSONObject 中元素个数 : jsonObject.size();

2. 代码示例

Main() 函数代码 :

	public static void main(String[] args) {

		//创建 一个 Student 对象
		Student student = new Student(1, "Sherlock Holmes", 42, true, 1);
		//将 Java Bean 对象转为 JSONObject 对象
		JSONObject object = (JSONObject) JSON.toJSON(student);
		//打印 JSONObject 对象
		System.out.println(object.toString());

		//获取 JSONObject 对象的 age 和 male 值
		String age = object.getString("age");
		boolean isMale = object.getBoolean("male");
		System.out.println("age : " + age + " , male : " + isMale);

		//向 JSONObject 对象中添加单个属性
		object.put("action", "fuck");
		System.out.println(object.toString());

		//向 JSONObject 对象中添加多个属性
		Map<String, String> map = new HashMap<String, String>();
		map.put("home", "American");
		map.put("school", "harvard");
		object.putAll(map);
		System.out.println(object.toJSONString());

		//移除 JSONObject 对象中的属性
		object.remove("action");
		System.out.println(object);

		//获取 JSONObject 中的属性个数
		System.out.println(object.size());

	}

执行结果 :

{"age":42,"id":1,"male":true,"name":"Sherlock Holmes","schoolId":1}
age : 42 , male : true
{"action":"fuck","age":42,"id":1,"male":true,"name":"Sherlock Holmes","schoolId":1}
{"action":"fuck","age":42,"home":"American","id":1,"male":true,"name":"Sherlock Holmes","school":"harvard","schoolId":1}
{"age":42,"home":"American","id":1,"male":true,"name":"Sherlock Holmes","school":"harvard","schoolId":1}
7

四. 所有相关代码示例

1. Java Bean 类

package cn.org.octopus.fastjson.beans;

public class Student {

	private int id;
	private String name;
	private int age;
	private boolean isMale;
	private int schoolId;

	public Student() {
		super();
	}

	public Student(int id, String name, int age, boolean isMale, int schoolId) {
		super();
		this.id = id;
		this.name = name;
		this.age = age;
		this.isMale = isMale;
		this.schoolId = schoolId;
	}

	public int getId() {
		return id;
	}

	public void setId(int id) {
		this.id = id;
	}

	public String getName() {
		return name;
	}

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

	public int getAge() {
		return age;
	}

	public void setAge(int age) {
		this.age = age;
	}

	public boolean isMale() {
		return isMale;
	}

	public void setMale(boolean isMale) {
		this.isMale = isMale;
	}

	public int getSchoolId() {
		return schoolId;
	}

	public void setSchoolId(int schoolId) {
		this.schoolId = schoolId;
	}

	@Override
	public String toString() {
		return "Student [id=" + id + ", name=" + name + ", age=" + age
				+ ", isMale=" + isMale + ", schoolId=" + schoolId + "]";
	}
}

2. JSON 相关方法 Main 示例

package cn.org.octopus.fastjson;

import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

import cn.org.octopus.fastjson.beans.Student;

import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;

public class Main {

	//字符串内容 [{"age":42,"id":1,"male":true,"name":"Sherlock Holmes","schoolId":1},{"age":42,"id":2,"male":false,"name":"John Watson","schoolId":1}]
	public static final String json_array = "[{\"age\":42,\"id\":1,\"male\":true,\"name\":\"Sherlock Holmes\",\"schoolId\":1},{\"age\":42,\"id\":2,\"male\":false,\"name\":\"John Watson\",\"schoolId\":1}]";

	//该字符串是 {"age":42,"id":1,"male":true,"name":"Sherlock Holmes","schoolId":1} 注意将 " 转为 \"
	public static final String json_student =  "{\"age\":42,\"id\":1,\"male\":true,\"name\":\"Sherlock Holmes\",\"schoolId\":1}";

	public static void main(String[] args) {

	}

	/**
	 * JSONArray 相关方法
	 */
	private static void JSONArrayMethod() {
		// 创建一个 Student 对象
		Student student_s = new Student(1, "Sherlock Holmes", 42, true, 1);
		// 再创建一个 Student 对象
		Student student_j = new Student(2, "John Watson", 42, false, 1);
		// 将两个 Student 对象放到 List 集合中
		List<Student> students = new ArrayList<Student>();
		students.add(student_s);
		students.add(student_j);

		// 将 List 集合对象转为 JSONArray 对象
		JSONArray array = (JSONArray) JSON.toJSON(students);
		System.out.println("List -> JSONArray : " + array);

		//将 List 集合 转化成 json 字符串
		String json_array = JSON.toJSONString(students, true);
		System.out.println("List -> json Str" + json_array);

		//json 字符串转为 List 集合
		List<Student> students1 = JSON.parseArray(json_array, Student.class);
		System.out.println("json Str -> List : " + students1);

		//json 字符串转 JSONArray
		JSONArray array1 = JSON.parseArray(json_array);
		System.out.println("json Str -> JSONArray : " + array1);
	}

	/**
	 * JSONObject 相关方法
	 */
	private static void JSONObjectMethod() {
		//创建 一个 Student 对象
		Student student = new Student(1, "Sherlock Holmes", 42, true, 1);
		//将 Java Bean 对象转为 JSONObject 对象
		JSONObject object = (JSONObject) JSON.toJSON(student);
		//打印 JSONObject 对象
		System.out.println(object.toString());

		//获取 JSONObject 对象的 age 和 male 值
		String age = object.getString("age");
		boolean isMale = object.getBoolean("male");
		System.out.println("age : " + age + " , male : " + isMale);

		//向 JSONObject 对象中添加单个属性
		object.put("action", "fuck");
		System.out.println(object.toString());

		//向 JSONObject 对象中添加多个属性
		Map<String, String> map = new HashMap<String, String>();
		map.put("home", "American");
		map.put("school", "harvard");
		object.putAll(map);
		System.out.println(object.toJSONString());

		//移除 JSONObject 对象中的属性
		object.remove("action");
		System.out.println(object);

		//获取 JSONObject 中的属性个数
		System.out.println(object.size());
	}

	/**
	 * JSON.parse() 方法示例
	 */
	private static void parseMethod() {
		//将 json 字符串转为 JSONObect 对象
		JSONObject object = (JSONObject) JSON.parse(json_student);
		//打印 JSONObject 对象
		System.out.println(object);

		//将 json 字符串 转为 JSONArray 对象
		JSONArray array = (JSONArray) JSON.parse(json_array);
		//打印 JSONArray 对象
		System.out.println(array);
	}

	/**
	 * JSON.parseObject() 方法示例
	 */
	private static void parseObjectMethod() {
		//将 json 字符串转为 JSONObject 对象
		JSONObject object = JSON.parseObject(json_student);
		//打印 JSONObject 对象
		System.out.println(object);

		//将 json 字符串转为 Student 对象  JSON.parseObject(String text, Class<Student> clazz)
		Student student = JSON.parseObject(json_student, Student.class);
		//打印 Student 对象
		System.out.println(student.toString());
	}

	/**
	 * JSON.parseArray() 方法示例
	 */
	private static void parseArrayMethod() {
		//将 json 字符串转为 JSONArray 对象
		JSONArray array = JSON.parseArray(json_array);
		//打印 JSONArray 对象
		System.out.println(array);

		//将 json 字符串转为 List 集合
		List<Student> students = JSON.parseArray(json_array, Student.class);
		//打印 List 集合大小
		System.out.println("students.size() : " + students.size());
		//遍历 List 集合中的元素
		for(Student student : students)
			System.out.println(student.toString());
	}

	/**
	 * JSON.toJSON() 方法示例
	 */
	private static void toJSONMethod() {
		//创建一个 Student 对象
		Student student_s = new Student(1, "Sherlock Holmes", 42, true, 1);
		//将 java bean 对象转为 JSONObject 对象
		JSONObject object = (JSONObject) JSON.toJSON(student_s); 

		//JSONObject 直接打印, 打印 toString() 或者 toJSONString() 输出结果是一样的
		System.out.println(object + " -- 打印 JSONOBject 本身");
		System.out.println(object.toString() + " -- 打印 JSONOBject.toString()");
		System.out.println(object.toJSONString() + " -- 打印 JSONOBject.toJSONString()");

		//再创建一个 Student 对象
		Student student_j = new Student(2, "John Watson", 42, false, 1);
		//将两个 Student 对象放到 List 集合中
		List<Student> students = new ArrayList<Student>();
		students.add(student_s);
		students.add(student_j);
		//将 List 集合对象转为 JSONArray 对象
		JSONArray array = (JSONArray) JSON.toJSON(students);

		String format_json = JSON.toJSONString(students, true);
		System.out.println(format_json);

		//JSONArray 直接打印, 打印 toString() 或者 toJSONString() 输出结果是一样的
		System.out.println(array + " -- 打印 JSONArray 本身");
		System.out.println(array.toString() + " -- 打印 JSONArray.toString()");
		System.out.println(array.toJSONString() + " -- 打印 JSONArray.toJSONString()");
	}

	/**
	 * JSON.toJSONString 示例
	 */
	private static void toJsonStringMethod() {
		//创建一个 Student 对象
		Student student = new Student(1, "Sherlock Holmes", 42, true, 1);
		//将 Student 对象转为 json 字符串
		String json = JSON.toJSONString(student);
		//打印 json 字符串
		System.out.println(json);

		//将 Student 对象转为 json 字符串, 这个字符串是经过格式化的
		String format_json = JSON.toJSONString(student, true);
		//打印格式化的 json
		System.out.println(format_json);
	}

}

博客地址 :http://blog.csdn.net/shulianghan/article/details/41011605

【Android 应用开发】 FastJson 使用详解的更多相关文章

  1. 【Android 应用开发】Ubuntu 下 Android Studio 开发工具使用详解 (旧版本 | 仅作参考)

    . 基本上可以导入项目开始使用了 ... . 作者 : 万境绝尘 转载请注明出处 : http://blog.csdn.net/shulianghan/article/details/21035637 ...

  2. 【Android 应用开发】Ubuntu 下 Android Studio 开发工具使用详解

    . 基本上可以导入项目开始使用了 ... . 作者 : 万境绝尘 转载请注明出处 : http://blog.csdn.net/shulianghan/article/details/21035637 ...

  3. 【Android 应用开发】BluetoothDevice详解

    一. BluetoothDevice简介 1. 继承关系 public static Class BluetoothDevice extends Object implement Parcelable ...

  4. 【Android 应用开发】BluetoothSocket详解

    一. BluetoothSocket简介 1. 简介 客户端与服务端 : BluetoothSocket 和 BluetoothServerSocket 类似于Java中的套接字的 Socket 和 ...

  5. 【Android 应用开发】 Fragment 详解

    作者 : 韩曙亮 转载请著名出处 : http://blog.csdn.net/shulianghan/article/details/38064191 本博客代码地址 : -- 单一 Fragmen ...

  6. 【Android 应用开发】BluetoothClass详解

    一. BluetoothClass简介 1. 继承关系 public final class BluetoothClass extends Object implements Parcelable 该 ...

  7. 【Android 应用开发】BluetoothServerSocket详解

    一. BluetoorhServerSocket简介 1. 继承关系 public final class BluetoothServerSocket extends Object implement ...

  8. 【转】【Android UI设计与开发】之详解ActionBar的使用,androidactionbar

    原文网址:http://www.bkjia.com/Androidjc/895966.html [Android UI设计与开发]之详解ActionBar的使用,androidactionbar 详解 ...

  9. Android高效率编码-第三方SDK详解系列(二)——Bmob后端云开发,实现登录注册,更改资料,修改密码,邮箱验证,上传,下载,推送消息,缩略图加载等功能

    Android高效率编码-第三方SDK详解系列(二)--Bmob后端云开发,实现登录注册,更改资料,修改密码,邮箱验证,上传,下载,推送消息,缩略图加载等功能 我的本意是第二篇写Mob的shareSD ...

  10. Android开发–Intent-filter属性详解

    Android开发–Intent-filter属性详解 2011年05月09日 ⁄ Andriod ⁄ 暂无评论 ⁄ 被围观 1,396 views+ 如果一个 Intent 请求在一片数据上执行一个 ...

随机推荐

  1. Python学习---字符串处理

    This world is but a canvas to our imagination. 世界只是我们的想象的画布. ----Apri 22 ''' 题目内容: "Pig Latin&q ...

  2. pentaho cde 自定义复选下拉框 checkbox select

    pentaho  自带的component 虽多,但是当用户需要在一个表格中查看多个组别的数据时,pentaho自带的单选框就不能实现了,所以复选下拉框势在必行,实现效果如下: 实现原理是借用了jqu ...

  3. c#下winform的ftp上传

    /* FTPFactory.cs Better view with tab space=4 Written by Jaimon Mathew (jaimonmathew@rediffmail.com) ...

  4. 一起撸个简单粗暴的Tv应用主界面的网格布局控件(上)

    这一篇是真的隔了好久了~~,也终于可以喘口气来好好写博客了,这段时间实在是忙不过来了,迭代太紧.好,废话不多说,进入今天的主题. 效果 图一是Tv应用:当贝市场的主页 图二是咱自己撸的简单粗暴的 Tv ...

  5. Go 语言指向指针的指针

    如果一个指针变量存放的又是另一个指针变量的地址,则称这个指针变量为指向指针的指针变量. 当定义一个指向指针的指针变量时,第一个指针存放第二个指针的地址,第二个指针存放变量的地址: 指向指针的指针变量声 ...

  6. Java常用集合学习总结

    一  数组 数组可以存储基本数据类型和对象的一种容器,长度固定,所以不适合在对象数量未知的情况下使用. Arrays : 用于操作数组对象的工具类,里面都是静态方法. Arrays.asList:把A ...

  7. Microsoft Dynamics 365 Developer Toolkit下载地址

    下载,支持Visual Studio 2012, 2013, 2015

  8. 《An Industrial-Strength Audio Search Algorithm》译文

    随着微信摇一摇逐渐被大众所广泛使用,听歌识曲功能也开始被关注.目前来看,像音乐雷达和微信摇一摇都采用了经典的shazam算法,为了使大家对shazam算法更加了解,我将其经典论文进行了翻译,希望对大家 ...

  9. Android开发之Path类使用详解,自绘各种各样的图形!

    玩过自定义View的小伙伴都知道,在View的绘制过程中,有一个类叫做Path,Path可以帮助我们实现很多自定义形状的View,特别是配合xfermode属性来使用的时候.OK,那我们今天就来看看P ...

  10. Linux下的一些常用命令(一)

    在Linux环境下敲各种命令是再正常不过了,尤其是现在大多少服务器均为Linux系统,但是我又记不住这么多命令,只是偶尔在项目做完发布到服务器上的时候会涉及到,所以在网上找了一些命令,在此记录一下~ ...