Java對象 json之間的轉換(json-lib)

在這裏主要簡單的介紹一下,如何使用json-lib這個工具包來完成Java對象(或集合)與json對象(或集合)之間的轉換~

1. Java對象轉換成json(既創建json)

關鍵類:JSONObject jsonObject = JSONObject.from(Object obj);

使用說明:只要將Java對象傳入方法,那麼便可以得到一個JSONObject,然後你便可以直接json.toString();輸出json~

例子:

    @Test
    public void testCreateJson() throws Exception {
        Employee employee = new Employee("zhangSan", "12");
        JSONObject jsonObject = JSONObject.fromObject(employee);
        System.out.println(jsonObject.toString());
    }

輸出結果:

{"age":"12","name":"zhangSan"} 

由上面的輸出結果可以看出,JSONObject輸出的json對象的屬性之間的順序是無序的~

2. 字符串轉換成Java對象(既解析json)

關鍵類:JSONObject json = new JSONObject(String jsonString);

    json.get(String key); //根據key來獲取值。key對Java對象來說就是屬性名,value就是屬性值

使用說明:首先將json字符串傳入JSONObject對象的構造函數中,得到一個JSONObject對象,再通過該對象進行獲取相應的數據,從而構造出一個Java對象。

例子:

    @Test
    public void testParseJson(){
        String jsonString = "{\"age\":\"12\",\"name\":\"zhangSan\"}";
        JSONObject json = new JSONObject().fromObject(jsonString);
        System.out.println(json.get("name"));
        System.out.println(json.get("age"));
    }

輸出結果:

zhangSan
12

 

附錄:Employee代碼的具體實現

public class Employee {
    private String name;
    private String age;
    public String getName() {
        return name;
    }
    public String getAge() {
        return age;
    }
    public void setName(String name) {
        this.name = name;
    }
    public void setAge(String age) {
        this.age = age;
    }
    public Employee(String name, String age) {
        super();
        this.name = name;
        this.age = age;
    }
    public Employee() {
        super();
    }
    @Override
    public String toString() {
        return "[name="+name+",age="+age+"]";
    }
}

 

延伸閱讀:

Java集合 Json集合之間的轉換

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章