java json格式化的两种方式

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)

相关推荐

  • Java的无参构造函数

    一 点睛 1 如果一个类没有定义任何构造函数,那么该类会自动生成1个默认的构造函数.默认构造函数没有参数. 2 如果一个类定义了构造函数,但这些构造函数都有参数,那么不会生成默认构造函数,也就是说此时 ...

  • 普通人养老,我只推荐这两种方式

    一个老领导退休了,朋友们都替她觉得高兴,感觉她可以过自由自在的人生了,但是只有她自己知道,想要过自由自在的人生,难: 老领导在职的时候一个月二万多的收入呢,现在退休了,每个月只能领一千多的退休金,这个 ...

  • 战胜贪婪的两种方式——理性和果断止损!

    止损是期货投资者必备的交易技巧.对于新手来说,很多人认为,每个人都要先经历亏钱过程,然后才能到达成功的彼岸,而亏钱则是投资者所必须要缴纳的"学费".如果真是这样的话,笔者希望这个& ...

  • 两种方式解决居间费、服务费、劳务费等税负问题

    两种方式解决居间费.服务费.劳务费等税负问题 企业一般在正常的经营中不可避免的会与个人发生业务往来,其中最常见的就是居间服务费用,也就是咱们常说的"中介费用",而且一般来说中介费用 ...

  • 运动和读书,是让自己摆脱“丧穷衰老”的两种方式

    达芬奇曾说,运动是一切生命的源泉. 当一个人真正理解这句话的时候,应该是申琴那段忙得昏天暗地却还是坚持去健身房运动成功减了65斤的日子. 总有人说,每天上下班,哪里还有时间和精力运动,回家就躺在沙发里 ...

  • 变频器控制电机运行最常用的两种方式

    当变频器主电路接好电源线之后,要控制电动机的运行,还需要给有关端子接上外围接控制电路,并且将变频器的启动方式参数设为外部操作模式. 变频器控制电动机运转,常见的有两种方式,分别是开关控制方式和继电器控 ...

  • 获得加V认证一共有两种方式

    获得加V认证一共有两种方式,第一种方式就是平台去邀请的那些领域大咖们,他们自动的就加上,比如说演员,比如说教授,领域知名人物,这类是被邀请的明星或者网红,加V自然就非常容易. 第二类就是需要自己认证的 ...

  • 两性交往,这两种方式,容易将对方的感情抹除

    2015年,我一个人去北京的时候,我在北京街头遇上了一个人: 这个人在北京街头嚎啕大哭,后面有一个人去询问的时候才发现,原来这个人失恋了. 这个人表示自己之前和自己的女朋友关系特别的好,但是由于自己做 ...

  • 构造柱植筋和预留两种方式暗藏机密,搞懂了,为你的老板盈利更多

    构造柱植筋和预留两种方式暗藏机密,搞懂了,为你的老板盈利更多

  • colab中切换路径的两种方式

    表白:黑白圣堂血天使,天剑鬼刀阿修罗.  讲解对象:/colab中切换路径的两种方式 作者:融水公子 rsgz Colab教程 Colab教程 http://www.rsgz.top/post/410 ...