GSON学习笔记包含两部分
项目介绍:GSON
Gson是Google的一个开源项目,可以将Java对象转换成JSON,也可能将JSON转换成Java对象。
Gson支持任意复杂Java对象包括没有源代码的对象.
Gson有2个最基本的方法
1) toJson() – 转换java 对象到JSON 将对象变为json表达式(String)
2) fromJson() – 转换JSON到java对象 将表达式转成对象。实际上就干了这两件事,别的啥都没干。
Gson是Google的一个开源项目,可以将Java对象转换成JSON,也可能将JSON转换成Java对象。
Gson支持任意复杂Java对象包括没有源代码的对象.
Gson有2个最基本的方法
1) toJson() – 转换java 对象到JSON 将对象变为json表达式(String)
2) fromJson() – 转换JSON到java对象 将表达式转成对象。实际上就干了这两件事,别的啥都没干。
需要导入GSON这个jar文件(需要的去下载 即可 。add extenal jar即可)
package shengsiyuan.lxd.gson;
import org.json.JSONObject;
import org.junit.Test;
import shengsiyuan.lxd.bean.PersonBean;
import com.google.gson.Gson;
public class JsonToPersonBean
{
@Test
public void TestJsonToPersonBean()
{
String jsonContent ="[{'name':'lixiaodaoaaa','age':22}," +
"{'name':'lihao','age':26}," +
"{'name':'libo','age':27}]";
Gson gson = new Gson();
PersonBean[] p = gson.fromJson(jsonContent,PersonBean[].class);
System.out.println(p[0].getName());
}
}
public class Person
{
private String name ="lixiaodaoaaa";
private String age;
private String address;
private List list;
public String getName()
{
return name;
}
public Person(String name, String age, String address, List list)
{
super();
this.name = name;
this.age = age;
this.address = address;
this.list = list;
}
public void setName(String name)
{
this.name = name;
}
public String getAge()
{
return age;
}
public void setAge(String age)
{
this.age = age;
}
public String getAddress()
{
return address;
}
public void setAddress(String address)
{
this.address = address;
}
public List getList()
{
return list;
}
public void setList(List list)
{
this.list = list;
}
}
import org.json.JSONObject;
import org.junit.Test;
import shengsiyuan.lxd.bean.PersonBean;
import com.google.gson.Gson;
public class JsonToPersonBean
{
@Test
public void TestJsonToPersonBean()
{
String jsonContent ="[{'name':'lixiaodaoaaa','age':22}," +
"{'name':'lihao','age':26}," +
"{'name':'libo','age':27}]";
Gson gson = new Gson();
PersonBean[] p = gson.fromJson(jsonContent,PersonBean[].class);
System.out.println(p[0].getName());
}
}
public class Person
{
private String name ="lixiaodaoaaa";
private String age;
private String address;
private List list;
public String getName()
{
return name;
}
public Person(String name, String age, String address, List list)
{
super();
this.name = name;
this.age = age;
this.address = address;
this.list = list;
}
public void setName(String name)
{
this.name = name;
}
public String getAge()
{
return age;
}
public void setAge(String age)
{
this.age = age;
}
public String getAddress()
{
return address;
}
public void setAddress(String address)
{
this.address = address;
}
public List getList()
{
return list;
}
public void setList(List list)
{
this.list = list;
}
}
上面的代码是将 对象变为json表达式。
通过gson下面的将json变为了 对象了
package shengsiyuan.lxd.gson;
import java.util.ArrayList;
import java.util.List;
import org.junit.Test;
import shengsiyuan.lxd.bean.Person;
import com.google.gson.Gson;
public class PersonBeanToJSon
{
@Test
public void Test01()
{
Gson g = new Gson();
List list = new ArrayList();
list.add("hel");
Person p = new Person("lixiaodaoaa", "22", "shanghai", list);
System.out.println(g.toJson(p));
}
}
import java.util.ArrayList;
import java.util.List;
import org.junit.Test;
import shengsiyuan.lxd.bean.Person;
import com.google.gson.Gson;
public class PersonBeanToJSon
{
@Test
public void Test01()
{
Gson g = new Gson();
List list = new ArrayList();
list.add("hel");
Person p = new Person("lixiaodaoaa", "22", "shanghai", list);
System.out.println(g.toJson(p));
}
}