1 . 谷歌:GSON
1).Gson gson = new Gson();
2).gson.fromJson(json,javabean.class)—>java的对象
3).gson.fromJson(json,new TypeToken
package com.qf.demo3;
/**
* 一定要保证 类中的属性名 和 json字符串中 键 名字一样 , 才能解析出对应的数据
*/
public class Person {
private String name;
private int age;
private Dept dept;
public Person(String name, int age, Dept dept) {
super();
this.name = name;
this.age = age;
this.dept = dept;
}
public Person() {
super();
}
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 Dept getDept() {
return dept;
}
public void setDept(Dept dept) {
this.dept = dept;
}
@Override
public String toString() {
return "Person [name=" + name + ", age=" + age + ", dept=" + dept + "]";
}
}
需要用到的Dept代码
package com.qf.demo3;
public class Dept {
private int no;
private String name;
public Dept(int no, String name) {
super();
this.no = no;
this.name = name;
}
public Dept() {
super();
}
public int getNo() {
return no;
}
public void setNo(int no) {
this.no = no;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
@Override
public String toString() {
return "Dept [no=" + no + ", name=" + name + "]";
}
}
下面解析的是纯对象:{name:’zhangsan’,age:20}
package com.qf.demo3;
import com.google.gson.Gson;
import com.qf.demo.Person;
public class Test {
public static void main(String[] args) {
String string = "{name:'zhangsan',age:20}";
/**
* 1 创建工具对象
*/
Gson gson = new Gson();
// 第一个参数是要解析的json字符串
Person person = gson.fromJson(string, Person.class);
System.out.println(person);
}
}
3 . 解析对象嵌套:
package com.qf.demo3;
import com.google.gson.Gson;
import com.qf.demo3.Person;
public class Test2 {
public static void main(String[] args) {
String string2 = "{name:'zhangsan',age:20,dept:{no:1,name:'java'}}";
Gson gson = new Gson();
Person person = gson.fromJson(string2, Person.class);
System.out.println(person);
}
}
4 .解析:
string= “{persons:[{name:’zhangsan’,age:20},{name:’lisi’,age:21},{name:’wangwu’,age:22}]}”
package com.qf.demo3;
import java.util.ArrayList;
import com.qf.demo.Person;
import com.google.gson.Gson;
public class Test3 {
public static void main(String[] args) {
String string= "{persons:[{name:'zhangsan',age:20},{name:'lisi',age:21},{name:'wangwu',age:22}]}";
Gson gson=new Gson();
Persons persons = gson.fromJson(string, Persons.class);
System.out.println(persons);
}
}
class Persons{
ArrayList<Person> persons;// 通常碰到数组就用集合来存储
public Persons(ArrayList<Person> persons) {
super();
this.persons = persons;
}
public Persons() {
super();
}
public ArrayList<Person> getPersons() {
return persons;
}
public void setPersons(ArrayList<Person> persons) {
this.persons = persons;
}
@Override
public String toString() {
return "Persons [persons=" + persons + "]";
}
}