分享

java json格式化的两种方式

 青苔IT 2021-07-13

Gson
创建演示所用类

class Person{

        private String name;

        private int age;


        public Person() {}


        //java 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字符串转换为对象?

//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);
    }

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多