java格式化JSON的两种方式

Gson

创建演示所用类

class Person{ 
        private String name;
        private int age;

        public Person() { }

        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 类实例化后的对象名 运行结果如下 {"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字符串转换为对象?

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);
    }
    原文作者:黑色的小火苗
    原文地址: https://blog.csdn.net/weixin_45744178/article/details/117928842
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞