【Android 应用开发】 FastJson 使用具体解释
博客地址 :http://blog.csdn.net/shulianghan/article/details/41011605
fastjson 源代码地址 :
-- GitHub : https://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 转 JSONObject : JSONObject 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 使用具体解释的更多相关文章
- android widget 开发实例 : 桌面便签程序的实现具体解释和源代码 (上)
如有错漏请不吝拍砖指正,转载请注明出处,很感谢 桌面便签软件是android上经常使用软件的一种,比方比較早的Sticky Note,就曾很流行, Sticky Note的介绍能够參见 http:// ...
- Android开发之异步具体解释(二)之AsyncTask
请尊重他人的劳动成果,转载请注明出处:Android开发之异步具体解释(二)之AsyncTask http://blog.csdn.net/fengyuzhengfan/article/details ...
- Android NDK 开发(一)--环境搭建【转】
转载请注明出处:http://blog.csdn.net/allen315410/article/details/41800955 Android下的NDK开发是Android开发中不可或缺的一部分, ...
- 转——Android应用开发性能优化完全分析
[工匠若水 http://blog.csdn.net/yanbober 转载请注明出处.] 1 背景 其实有点不想写这篇文章的,但是又想写,有些矛盾.不想写的原因是随便上网一搜一堆关于性能的建议,感觉 ...
- Android程序开发0基础教程(一)
程序猿学英语就上视觉英语网 Android程序开发0基础教程(一) 平台简单介绍 令人激动的Google手机操作系统平台-Android在2007年11月13日正式公布了,这是一个开放源码的操 ...
- Android 应用开发性能优化完全分析
1 背景 其实有点不想写这篇文章的,但是又想写,有些矛盾.不想写的原因是随便上网一搜一堆关于性能的建议,感觉大家你一总结.我一总结的都说到了很多优化注意事项,但是看过这些文章后大多数存在一个问题就是只 ...
- 【转】Android应用开发性能优化完全分析
http://blog.csdn.net/yanbober/article/details/48394201 1 背景 其实有点不想写这篇文章的,但是又想写,有些矛盾.不想写的原因是随便上网一搜一堆关 ...
- Android应用开发性能优化完全分析
1 背景 其实有点不想写这篇文章的,但是又想写,有些矛盾.不想写的原因是随便上网一搜一堆关于性能的建议,感觉大家你一总结.我一总结的都说到了很多优化注意事项,但是看过这些文章后大多数存在一个问题就是只 ...
- Android音频开发之——如何播放一帧音频
本文重点关注如何在Android平台上播放一帧音频数据.阅读本文之前,建议先读一下<Android音频开发(1):基础知识>,因为音频开发过程中,经常要涉及到这些基础知识,掌握了这些重要的 ...
- 【转】android应用开发全程实录-你有多熟悉listview?---不错
原文网址:http://www.cnblogs.com/noTice520/archive/2011/12/05/2276379.html 今天给大家带来<android应用开发全程实录> ...
随机推荐
- 二分查找(非递归JAVA)
庞果网编程英雄会上做的一道题:二分查找(非递归),和大家分享一下: public class BinarySearchClass { public static int binary_search(i ...
- ThinkPHP页面跳转、Ajax技巧详细介绍(十八)
原文:ThinkPHP页面跳转.Ajax技巧详细介绍(十八) ThinkPHP页面跳转.Ajax技巧详细介绍 一.页面跳转 $this->success('查询成功',U('User/test' ...
- SpringMVC存取Session的两种方法
方法一:使用servlet-api @Controller public class ManagerController { @Resource private ManagerService mana ...
- 彻底删除"提示删除文件和目录"时出错的文件或目录
当删除文件是出现上图时 能够用以下的方法删除文件 策略一:系统大法 第一招 进程帮你搞定 很多时候乱码文件名称里的文件是explorer.exe进程联系在一起的. 假设要删除的话能够这样:首先命令 ...
- 字符串string和内存流MemoryStream及比特数组byte[]互转
原文:字符串string和内存流MemoryStream及比特数组byte[]互转 字符串string和内存流MemoryStream及比特数组byte[]互转比较 定义string变量为str, ...
- 初始化openwrt的rootpassword
更改openwrt源代码 shadow 文件 package/base-files/files/etc/shadow shadow 文件參考http://blog.csdn.net/u01164188 ...
- hdu4223(dp)
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=4223 由于n范围较小,完全可暴力... #include <cstdio> #includ ...
- 跟我extjs5(38--单个模块的设计[6获得模块列表数据])
跟我extjs5(38--单个模块的设计[6获得模块列表数据]) 在程序的前一个表以及,据的执行过程. 在菜单中选择 "系统管理"--"模块分组" ...
- poj3206(bfs+最小生成树)
传送门:Borg Maze 题意:有一个迷宫,里面有一些外星人,外星人用字母A表示,#表示墙,不能走,空格可以走,从S点出发,在起点S和A处可以分叉走,问找到所有的外星人的最短路径是多少? 分析:分别 ...
- 采用 audio 和 embed 实现浏览器的兼容性页音频播放
采用 audio 和 embed 实现浏览器的兼容性页音频播放 采用 audio 和 embed 实现浏览器的兼容性页音频播放 学习参考源代码如下所示: function playSound() { ...