Gson是google一个谷歌提供用来解析Json。
Gson提供了两种方法: ⑴toJson 将对象转化为 Json 对象
⑵fromJson 实现从 Json 对象转化为实体类对象
额外提供Json对象和XML对象的转化案例,这个不属于google提供的。
/*实体类*/
package com.mark;
public class TestPerson {
public String name;
public int age;
public String sex;
public void tostring() {
System.out.println("name:"+this.name+" age:"+this.age+" sex:"+this.sex);
}
}
package com.mark;
import com.google.gson.Gson;
import com.google.gson.reflect.TypeToken;
import net.sf.json.JSONObject;
import net.sf.json.JSONSerializer;
import net.sf.json.xml.XMLSerializer;
import java.util.ArrayList;
public class TestClass {
public static void main(String arg[]){
/*
将实体类转化为json类型
*/
Gson gson = new Gson();
ArrayList<TestPerson> person = new ArrayList<TestPerson>();
for(int i = 0; i < 3;i++){
TestPerson tempPerson = new TestPerson();
tempPerson.age=i+5;
tempPerson.name="实体类"+String.valueOf(i);
person.add(tempPerson);
}
String json = new Gson().toJson(person);
System.out.println(json);
System.out.println("******************************************************************************");
/*
将json转化为实体类
*/
String str ="{\"name\":\"json转化实体类\",\"age\":5}";
TestPerson tempPerson = gson.fromJson(str,TestPerson.class);
tempPerson.tostring();
System.out.println("******************************************************************************");
/*
将json字符串,转化为列表类型
*/
System.out.print("json转化列表类型 ");
String strList="[{\"name\":\"mark\",\"age\":5},{\"name\":\"jack\",\"age\":6},{\"name\":\"teddy\",\"age\":7}]";
ArrayList<TestPerson> testPersonList = gson.fromJson(strList,new TypeToken<ArrayList<TestPerson>>(){}.getType());
for(TestPerson ps : testPersonList){
ps.tostring();
}
System.out.println("******************************************************************************");
/*
JSON序列化XML字符串
*/
JSONObject obj = (JSONObject) JSONSerializer.toJSON(str);
XMLSerializer xml = new XMLSerializer();
System.out.println("Json转化Xml "+xml.write(obj));
}
}
/*案例输出结果*/
[{"name":"实体类0","age":5},{"name":"实体类1","age":6}]
******************************************************************************
name:json转化实体类 age:5 sex:null
******************************************************************************
json转化列表类型name:mark age:5 sex:null
name:jack age:6 sex:null
name:teddy age:7 sex:null
******************************************************************************
Json转化Xml <?xml version="1.0" encoding="UTF-8"?>
<o><age type="number">5</age><name type="string">json转化实体类</name></o>
本文介绍Gson库的使用方法,包括将实体类转化为JSON及反向操作,并演示了如何处理JSON列表。此外,还提供了JSON与XML互相转换的示例。
2446

被折叠的 条评论
为什么被折叠?



