zoukankan      html  css  js  c++  java
  • 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);
        }
  • 相关阅读:
    随笔 Frida
    [转]某种传染病第一天只有一个患者,前五天为潜伏期,不发作也不会传染人 第6天开始发作,从发作到治愈需要5天时间,期间每天传染3个人 求第N天共有多少患者 Frida
    sql 将具有相同ID的多条记录组合成一条记录 Frida
    【转】小谈C#.NET下的爬虫(蜘蛛)技术 Frida
    ECMAScript基础1 Frida
    显示隐藏层 jquery Frida
    SQL语句备份和还原数据库
    Hello!Blog~
    23个MySQL常用查询语句
    SQL Server 2008压缩数据库日志文件
  • 原文地址:https://www.cnblogs.com/teacher11/p/15005720.html
Copyright © 2011-2022 走看看