java json格式化的兩種方式

Gson
創建演示所用類

class Person{
        private String name;
        private int age;

        public Person() {}

        //java www.fhadmin.cn
        public Person(String name, int age) {
            this.name = name;
            this.age = age;
        }

        @Override
        public String toString() {
            return "Person{" +
                    "name='" + name + '\'' +
                    ", age=" + age +
                    '}';
        }

        @Override
        public boolean equals(Object o) {
            if (this == o) return true;
            if (o == null || getClass() != o.getClass()) return false;
            Person person = (Person) o;
            return age == person.age &&
                    Objects.equals(name, person.name);
        }

        @Override
        public int hashCode() {
            return Objects.hash(name, age);
        }

        public String getName() {
            return name;
        }

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

        public int getAge() {
            return age;
        }

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

如何將一個對象轉換爲Json字符串

public static void main(String[] args) {
    /*
        1. 創建一個對象
        2. 將對象轉換位JSON字符串格式 
            使用 Gson對象的toJson(object) 方法
                object  類實例化後的對象名
        
        運行結果如下 (fhadmin.cn)
            {"name":"張三","age":18}
     */
    Person person = new Person("張三",18);
    String json = new Gson().toJson(person);
    System.out.println(json);
}

如何將Json字符串轉換爲對象?

public static void main(String[] args) {
        /*
            1. 創建一串json字符串
            2. 將json字符串轉換爲對象  需要兩個參數
                參數1: 傳入要轉換的字符串
                參數2: 轉換的類名.class
            代碼運行結果:
                Person{name='張三', age=18}
         */
        String jsonStr = "{\"name\":\"張三\",\"age\":18}";
        Person person = new Gson().fromJson(jsonStr,Person.class);
        System.out.println(person);
    }

FastJson
使用的演示類如上

如何將一個對象轉換爲Json字符串

public static void main(String[] args) {
        /*
            1. 生成一個對象
            2. 使用 JSON.toJSONString(Object) 將其轉換爲json字符串
                Object : 是要轉換的對象
            結果如下
                {"age":15,"name":"張三"}
         */
        Person person = new Person("張三",15);
        String json = JSON.toJSONString(person);
        System.out.println(json);
    }

如何將Json字符串轉換爲對象?

//www.fhadmin.cn
public static void main(String[] args) {
        /*
            1. 創建要轉換的json字符串
            2. 使用 JSON.parseObject(str,Object.class)將json字符串轉化爲對象
                str:    要轉換的json字符串
                Object: 要轉換的類.class

            結果如下:
                Person{name='張三', age=15}
         */
        String jsonStr = "{\"age\":15,\"name\":\"張三\"}";
        Person person = JSON.parseObject(jsonStr,Person.class);
        System.out.println(person);
    }

 

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