java對象與Json字符串之間的轉化(fastjson)


1. 首先引入jar包

在pom.xml文件里加入下面依賴:

<dependency>
    <groupId>com.alibaba</groupId>
    <artifactId>fastjson</artifactId>
    <version>1.2.51</version>
</dependency>

2. 創建一個Person類(方面下面使用)

public class Person implements Comparable<Person> {
    private int age;

    private String name;

    public int getAge() {
        return age;
    }

    public void setAge(int age) {
        this.age = age;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public Person(int age, String name) {
        super();
        this.age = age;
        this.name = name;
    }
 
}

3.  實現java對象與Json字符串之間的轉化

public class Test {
    public static void main(String[] args) {
        // 實現java對象與Json字符串之間的轉化

        // 1. Person對象與json之間的轉換
        //1.1 將Person對象轉成json
        Person p = new Person(10, "張三");
        Object obj = JSONArray.toJSON(p);
        String json = obj.toString();
        System.out.println("將Person對象轉成json:" + json);
        
        //1.2 將json字符串轉成Person對象
        Person person = JSONArray.parseObject(json, Person.class);
        System.out.println("person.getName():" + person.getName());

        // 2. 將List<Person>與json之間的轉換
        //2.1 將List<Person>轉成json
        List<Person> personList = new ArrayList<>();
        personList.add(new Person(10, "張三"));
        personList.add(new Person(10, "李四"));
        personList.add(new Person(10, "王五"));
        Object obj2 = JSONArray.toJSON(personList);
        String json2 = obj2.toString();
        System.out.println("將List<Person>轉成json:" + json2);
        
        // 2.2. 將json字符串轉成List<Person>對象
        List<Person> list = JSONArray.parseArray(json2, Person.class);
        System.out.println("list.size():" + list.size());

        // 3. 將Map對象與json之間的轉換
        // 3.1 將Map轉成json
        Map<String, Person> map = new HashMap<>();
        map.put("1", new Person(10, "張三"));
        map.put("2", new Person(10, "李四"));
        map.put("3", new Person(10, "王五"));
        Object obj3 = JSONArray.toJSON(map);
        String json3 = obj3.toString();
        System.out.println("將Map<String,Person>轉成json:" + json3);

        // 3.2. 將json轉成Map對象
        Map<String, Object> map2 = JSONArray.parseObject(json3);
        Person person2 = JSONArray.parseObject(map2.get("1").toString(), Person.class);
        System.out.println("person2.getName():" + person2.getName());

    }
}

運行以上代碼,打印結果為:

將Person對象轉成json:{"name":"張三","age":10}
person.getName():張三
將List<Person>轉成json:[{"name":"張三","age":10},{"name":"李四","age":10},{"name":"王五","age":10}]
list.size():3
將Map<String,Person>轉成json:{"1":{"name":"張三","age":10},"2":{"name":"李四","age":10},"3":{"name":"王五","age":10}}
person2.getName():張三


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM