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);
        }
  • 相关阅读:
    分类在使用runtime做方法交换时
    打包自己Framework中含有第三方库的解决方案分CocoaPods与手动导入两种方式
    iOS 百分比圆环曲线swift4.0实现
    最新swift4.0 图片进行尺寸大小及体积压缩
    swift 密码由6-16数字和字母组合组成
    Android 7.0 之后相机/文件读写等权限获取方式改变,导致开启相机闪退
    Android Manifest 中 uses-feature 和 uses-permission的作用 关系和区别
    Android studio 3.1.3真机调试报错,no target device found
    如何用Java实现条件编译
    Missing android.support.FILE_PROVIDER_PATHS meta-data 报错原因分析
  • 原文地址:https://www.cnblogs.com/teacher11/p/15005720.html
Copyright © 2011-2022 走看看