首页 > 代码库 > ======Gson======

======Gson======

Gson gson = new Gson();
		/*Gson的fromJson方法是在和Bean的属性努力的对应。*/
		String str = "{\"age\":20}";
		Person bean = gson.fromJson(str, Person.class);
		System.out.println(str);
		System.out.println(bean.toString());
		//		输出:
		//		{"age":20}
		//		Person [name=null, age=20]

		//===========================================================================

		Person p = new Person("ldd",20);
		Student s = new Student("xll",23,p);
		String str1 = gson.toJson(s);
		System.out.println(str1);
		// 输出:
		//		{
		//		    "name": "xll",
		//		    "age": 23,
		//		    "person": {
		//		        "name": "ldd",
		//		        "age": 20
		//		    }
		//		}
		//============================================================================

		Student stu1 = gson.fromJson(str1, Student.class);
		System.out.println(stu1.toString());
		// 输出:
		//Student [name=xll, age=23, person=Person [name=ldd, age=20]]
		//=============================================================================
		Type listType = new TypeToken<List<Person>>() {}.getType();
		List<Person> persons = new ArrayList<Person>();
		for (int i = 0; i < 4; i++) {
			Person pp = new Person();
			pp.setName("name" + i);
			pp.setAge(i * 5);
			persons.add(pp);
		}
		String str3 = gson.toJson(persons,listType);
		System.out.println(str3);
		/*				[
				    {
				        "name": "name3",
				        "age": 15
				    },
				    {
				        "name": "name3",
				        "age": 15
				    },
				    {
				        "name": "name3",
				        "age": 15
				    },
				    {
				        "name": "name3",
				        "age": 15
				    }
				]*/
		//===================================================================
		List<Person> listPerson = gson.fromJson(str3, listType);
		System.out.println(listPerson.toString());
		// 输出:
		//[Person [name=name0, age=0], Person [name=name1, age=5], Person [name=name2, age=10], Person [name=name3, age=15]]
<pre name="code" class="java">package com.panpass.main;

public class Person {
	


    private String name;
    private int age;
    

    
	public Person() {
		super();
	}


	public Person(String name, int age) {
		super();
		this.name = name;
		this.age = age;
	}


	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;
	}


	@Override
	public String toString() {
		return "Person [name=" + name + ", age=" + age + "]";
	}
    

}


<pre name="code" class="java">package com.panpass.main;

public class Student {
	
    private String name;
    private int age;
    private Person person;
	public Student(String name, int age, Person person) {
		super();
		this.name = name;
		this.age = age;
		this.person = person;
	}
	public Student() {
		super();
		// TODO Auto-generated constructor stub
	}
	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 Person getPerson() {
		return person;
	}
	public void setPerson(Person person) {
		this.person = person;
	}
	@Override
	public String toString() {
		return "Student [name=" + name + ", age=" + age + ", person=" + person
				+ "]";
	}
    
    
    

}



======Gson======