【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
相关推荐
- **兼容性**:Fastjson 提供了服务器端和 Android 客户端两种解析工具,适用于多种应用场景。 - **序列化/反序列化方法**:提供 `toJSONString()` 和 `parseObject()` 方法,前者用于将 Java 对象转换为 JSON 字符...
### fastjson 使用详解 #### 一、概述 `fastjson` 是阿里巴巴开发的一款高性能的 JSON 库,主要用于 Java 对象与 JSON 字符串之间的互相转换。它提供了非常快速且轻量级的序列化和反序列化操作,在 Android 开发和...
网络基础是任何Android应用开发的重要组成部分,本书首先会介绍网络编程的基本概念,如TCP/IP协议栈、HTTP/HTTPS协议,以及数据传输格式如JSON和XML。这些基础知识对于构建与服务器进行有效交互的应用至关重要。 ...
《Android应用开发详解 11-18》光盘内容涵盖了Android应用开发的多个关键方面,包括基础应用、网络应用和游戏应用等重要领域。以下是对这些知识点的详细阐述: 1. **基础应用**:这部分内容是Android开发的基石,...
Android Afinal是一个轻量级的开发框架,专为Android应用设计,旨在简化常见的开发任务,如数据库操作、网络请求等。...通过对Afinal的学习和实践,开发者可以更好地理解和掌握Android应用开发的技巧,提升开发能力。
Fastjson是阿里巴巴开发的一款高效、功能强大的JSON库,它被广泛应用于Java开发中,用于JSON序列化和反序列化。在这个"fastjson-1.2.5 三合一"版本中,我们得到了包括Javadoc文档、源代码以及核心库在内的三个关键...
Fastjson,一个由阿里巴巴开发的高性能、轻量级的Java语言JSON处理库,因其高效的解析速度和广泛的功能,在国内的互联网行业中被广泛应用。然而,任何优秀的软件都有其潜在的安全风险,Fastjson也不例外。在1.2.47...
- **移动开发**: 在Android开发中,Fastjson是处理服务器返回数据的常见选择。 - **数据库操作**: 结合ORM框架,如MyBatis,用于JSON数据与数据库记录之间的转换。 6. **版本更新** - 文件列表中的`fastjson-...
《阿里巴巴开源Fastjson详解》 Fastjson,作为阿里巴巴开源的一款高效、功能强大的JSON库,它在Java开发领域中被广泛使用。JSON(JavaScript Object Notation)作为一种轻量级的数据交换格式,因其简洁明了的特性,...
Fastjson因其实现简洁高效,在众多项目中被广泛采纳,尤其是在Web应用及Android客户端开发中。 #### 二、Fastjson漏洞概述 Fastjson在多个版本中存在安全漏洞,主要集中在反序列化过程中,这些漏洞可能允许远程...
在Android开发中,JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,常用于应用程序之间的数据传输。本文将深入探讨Android原生JSON以及Fastjson库的使用方法。 首先,我们来看Android原生的JSON...
Fastjson是阿里巴巴开发的一款高性能的Java JSON库,它能实现Java对象与JSON数据之间的快速转换。在Fastjson-1.2.4版本中,我们能够看到该库在稳定性和性能上的进一步优化。本文将围绕这个版本,深入探讨其核心特性...
在移动应用开发领域,Android平台因其开源、灵活的特性,深受开发者喜爱。随着Android应用市场的日益繁荣,Android开发者的需求也日益增加,面试竞争变得尤为激烈。本资料“Android开发面试题_WantIt_android_”正是...
【标题】中的“安卓网站交互JSONxmlWebserviceUPnP相关-使用fastjson解析实体嵌套只要一行代码就可以解析负责的json嵌套”涉及到几个关键概念,让我们逐一详解: 1. **JSON**: JSON(JavaScript Object Notation)...
《Android应用源码详解——基于BlogForZFB》 Android应用源码的分析与学习是开发者提升技术能力的重要途径,尤其是对于那些希望深入理解Android系统工作原理和开发实践的工程师而言。本文将以"BlogForZFB.zip"为例...
【描述】:这个压缩包“android 开心网源码.rar”包含了开心网Android应用的源代码,它为开发者提供了一个深入理解社交应用开发的实例。通过研究这份源码,我们可以学习到如何在Android平台上构建一个功能丰富的社交...
在Android应用开发过程中,理解网络监控是至关重要的一步,它可以帮助开发者调试网络请求,优化性能,以及排查问题。本文将深入探讨“Android网络监视器源码”的关键知识点,包括网络请求的拦截、数据解析、UI展示等...
总结,“Android 口袋微博服务器客户端代码”项目涵盖了Android应用开发的多个核心知识点,包括但不限于网络通信、数据解析、UI设计、异常处理等。通过这个项目,开发者可以深入理解Android应用的开发流程,提升自己...
- Android应用程序的生命周期:了解`Activity`、`Service`、`BroadcastReceiver`和`ContentProvider`的基本生命周期,理解各个状态之间的转换。 - Intents与Intent Filters:理解如何通过Intent在组件间传递数据,...
2. **Android应用程序架构** - **MVVM(Model-View-ViewModel)模式**:现代Android开发中推荐的架构模式,理解MVVM的职责划分,如何使用LiveData和DataBinding实现数据双向绑定。 3. **线程与多线程** - **主线...