android fastjson的使用
build.gradle中引依赖:
implementation 'com.alibaba:fastjson:1.1.71.android'
具体用法,各种形式的转换,直接上代码例子吧
List<Student> list=new ArrayList<>();
Student student=new Student("bob",24);
Student student12=new Student("lily", 23);
list.add(student);
list.add(student12);
Log.d(LOGTAG,"*******javaBean to jsonString*******");
String str1=JSON.toJSONString(student);
Log.d(LOGTAG,str1);
Log.d(LOGTAG,JSON.toJSONString(list));
Log.d(LOGTAG,"******jsonString to javaBean*******");
Student stu1=JSON.parseObject(str1,Student.class);
Log.d(LOGTAG,stu1.getName()+" "+stu1.getAge());
Log.d(LOGTAG,"******javaBean to jsonObject******");
JSONObject jsonObject1=(JSONObject)JSON.toJSON(student);
Log.d(LOGTAG,jsonObject1.getString("name"));
Log.d(LOGTAG,"******jsonObject to javaBean******");
Student student2=JSON.toJavaObject(jsonObject1, Student.class);
Log.d(LOGTAG,student2.getName()+" "+student2.getAge());
Log.d(LOGTAG,"*******javaBean to jsonArray******");
List<Student> stulist=new ArrayList<>();
for(int i=0;i<5;i++){
stulist.add(new Student("student"+i, i));
}
JSONArray jsonArrays=(JSONArray) JSON.toJSON(stulist);
for(int i=0;i<jsonArrays.size();i++){
Log.d(LOGTAG,jsonArrays.getJSONObject(i).toString());
}
Log.d(LOGTAG,"*****jsonArry to javalist******");
List<Student> myList=new ArrayList<>();
for(int i=0;i<jsonArrays.size();i++){
Student student3=JSON.toJavaObject(jsonArrays.getJSONObject(i), Student.class);
myList.add(student3);
}
for(Student stu:myList){
Log.d(LOGTAG,stu.toString());
}
Log.d(LOGTAG,"*****jsonObject to jsonString*****");
String str4=JSON.toJSONString(jsonObject1);
Log.d(LOGTAG,str4);
Log.d(LOGTAG,"*******jsonString to jsonObject*****");
JSONObject jso1=JSON.parseObject(str1);
Log.d(LOGTAG,jso1.getString("name"));
Log.d(LOGTAG,"*****jsonString to jsonArray*****");
JSONArray jArray=JSON.parseArray(JSON.toJSONString(stulist));
for(int i=0;i<jArray.size();i++){
Log.d(LOGTAG,jArray.getJSONObject(i).toString());
}
Student Bean类
public class Student {
private String name;
private int age;
public Student() {
}
public Student(String name,int age){
this.name=name;
this.age=age;
}
public void setName(String name){
this.name=name;
}
public String getName(){
return name;
}
public void setAge(int age){
this.age=age;
}
public int getAge(){
return age;
}
@Override
public String toString() {
return "student [name="+name+" , "+"age="+age+"]";
}
}