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);
        }
  • 相关阅读:
    P2422 良好的感觉
    拉格朗日插值
    C# 中的委托和事件(详解)
    异步委托
    ManualResetEvent详解
    快速理解C#高级概念事件与委托的区别
    拉格朗日多项式
    oracle 插入一个从别处查询获得字段的值
    decode和nvl的用法
    C#将像素值转换为图片
  • 原文地址:https://www.cnblogs.com/teacher11/p/15005720.html
Copyright © 2011-2022 走看看