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);
        }
  • 相关阅读:
    参考教程 python 手动搭建ANN,并进行具体实现
    ubuntu18.04 ssh 问题
    Ubuntu18.04 启动后进不了界面 [ failed command: READ DMA ]
    Emacs 使用 markdown 模式
    linux 下 Emacs dired 模式 隐藏 dot file ".filename" 文件
    Ubuntu 16.04 安装后(使用旧的用户目录)登陆不进去
    AWS-SS配置过程
    Jupyter-notebook 导出时不显示Input[]代码
    [网络流24题] 方格取数问题 (最大权独立集---网络最小割)
    [网络流24题] 最长递增子序列 (最多不相交路径---网络最大流)
  • 原文地址:https://www.cnblogs.com/teacher11/p/15005720.html
Copyright © 2011-2022 走看看