GSON學習筆記包含兩部分
項目介紹:GSON
Gson是Google的一個開源項目,可以將Java對象轉換成JSON,也可能將JSON轉換成Java對象。
Gson支援任意複雜Java對象包括沒有原始碼的對象.
Gson有2個最基本的方法
1) toJson() – 轉換java 對象到JSON 將對象變為json運算式(String)
2) fromJson() – 轉換JSON到java對象 將運算式轉成對象。實際上就幹了這兩件事,別的啥都沒幹。
我們繼續看代碼。
1 gson下載包:http://code.google.com/p/google-gson
需要匯入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;
}
}
上面的代碼是將 對象變為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));
}
}