【Android应⽤开发】FastJson使⽤详解
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 字符串 : JSONString(Object object, boolean prettyFormat)⽅法, ⽰例 - String format_json =
Java Bean 对象与 JSONObject 对象互相转化 :
-- Java Bean 对象 -> JSONObject 对象 : JSON(Object javaObject)⽅法, ⽰例 - JSONObject object = (JSONObject)
再转成 Java Bean;
json 字符串与 JSONObject 对象互相转化 :
--json 字符串 -> JSONObject 对象: JSON.parseObject(String text)⽅法, ⽰例 - JSONObject object = JSON.parseObject(json_student);
-- JSONObject 对象 -> json 字符串 : String()⽅法, ⽰例 - String();
Java Bean 对象 <--> json 字符串 <--> JSONArray 对象互相转化
json 字符串与 Java 集合互相转化 :
-- json 字符串 -> Java 集合 : JSON.parseObject(String text, Class<Student> clazz)⽅法, ⽰例 - List<St
udent> students =
JSON.parseArray(json_array, Student.class);
-- Java 集合 -> json 字符串 : toJSONString(Object object, boolean prettyFormat)⽅法, ⽰例 - String json_array =
Java 集合与 JSONArray 对象互相转化 :
-- Java 集合 -> JSONArray 对象 : JSON(Object javaObject)⽅法, ⽰例 - JSONArray array = (JSONArray) JSON(students);
-- JSONArray 对象 -> Java 集合 (没有直接转化⽅法) : 先转成 json 字符串, 再转成 Java 集合;
json 字符串与 JSONArray 对象互相转化:
-- json 字符串 -> JSONArray 对象 : JSON.parseArray(String text)⽅法, ⽰例 - JSONArray array = JSON.parseArray(json_array); -- JSONArray 对象 -> json 字符串 : String() ⽅法;
⼀. 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. JSONString ⽅法
(1) JSONString(Object object)⽅法简介
-- ⽅法定义 : public static final String toJSONString(Object object) ;
-- ⽅法作⽤ : 将 java bean 转为 json 字符串;
-- ⽅法位置 : String com.alibaba.JSONString(Object object) ;
-- 参数介绍 : Object object -> 要转换的实体类对象;
-
- ⽅法定义 : public static final String toJSONString(Object object, boolean prettyFormat) ;
-- ⽅法作⽤ : 将 java bean 转为 json 字符串, 并将 json 字符串格式化;
-- ⽅法位置: String com.alibaba.JSONString(Object object, boolean prettyFormat) ;
-- 参数介绍 : Object object -> 要转换的实体类对象, boolean prettyFormat -> 是否将 json 字符串格式化如果 false 与上⾯的⽅法作⽤相同;
(2) JSONString(Object object) 和 JSONString(Object object, boolean prettyFormat)⽅法使⽤⽰例
JavaBean 类定义:
topus.fastjson.beans;
public class Student {
private int id;
private String name;
private int age;
private boolean isMale;
fastjson怎么用
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;
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 = JSONString(student);
/
/打印 json 字符串
System.out.println(json);
//将 Student 对象转为 json 字符串, 这个字符串是经过格式化的
String format_json = JSONString(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 ⽅法
(1) JSON(Object javaObject) ⽅法简介
⽅法简介 :

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。