Gson实用案例

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>

作者:Mark_XC

来源:CSDN

原文: https://blog.csdn.net/Mark_Ch...

版权声明:本文为博主原创文章,转载请附上博文链接!

我来评几句
登录后评论

已发表评论数()

相关站点

热门文章