Json字符串与Object、List、Map的互转工具类

介绍:在Java中,经常会使用Json格式的字符串来传输数据,但是在Java程序内部我们又需要把Json字符串转换为Java对象来方便的操作数据。本文将介绍如何使用Json相关的工具类将Json字符串转换为Java对象,并将Java对象转换为Json格式的字符串。

介绍:在Java中,经常会使用Json格式的字符串来传输数据,但是在Java程序内部我们又需要把Json字符串转换为Java对象来方便的操作数据。本文将介绍如何使用Json相关的工具类将Json字符串转换为Java对象,并将Java对象转换为Json格式的字符串。

  1. 将Json字符串转换为Java对象

当我们有一个Json格式的字符串需要转换为Java对象时,可以使用Json相关的工具类,例如Google的Gson库或Fastjson库。下面以Fastjson为例,介绍如何把Json字符串转换为Java对象。

import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject;

public class JsonToObject {

    public static void main(String[] args) {
        String jsonString = "{\"name\":\"John\",\"age\":30,\"city\":\"New York\"}";
        JSONObject jsonObject = JSON.parseObject(jsonString);
        String name = jsonObject.getString("name");
        int age = jsonObject.getIntValue("age");
        String city = jsonObject.getString("city");
        Person person = new Person(name, age, city);
        System.out.println(person);
    }

    static class Person {
        private String name;
        private int age;
        private String city;

        public Person(String name, int age, String city) {
            this.name = name;
            this.age = age;
            this.city = city;
        }

        @Override
        public String toString() {
            return "Person{" +
                    "name='" + name + '\'' +
                    ", age=" + age +
                    ", city='" + city + '\'' +
                    '}';
        }
    }
}

可以看到,我们使用了Fastjson的JSON.parseObject方法将Json字符串转换为了一个Json对象,然后通过Json对象中提供的方法,来取出需要的数据,最后将取出的数据组装成Java对象。

2.将Java对象转换为Json格式的字符串

当我们有一个Java对象需要转换为Json格式的字符串时,可以使用Json相关的工具类,例如Google的Gson库或Fastjson库。下面以Fastjson为例,介绍如何把Java对象转换为Json格式的字符串。

import com.alibaba.fastjson.JSON;

public class ObjectToJson {

    public static void main(String[] args) {
        Person person = new Person("John", 30, "New York");
        String jsonString = JSON.toJSONString(person);
        System.out.println(jsonString);
    }

    static class Person {
        private String name;
        private int age;
        private String city;

        public Person(String name, int age, String city) {
            this.name = name;
            this.age = age;
            this.city = city;
        }

        @Override
        public String toString() {
            return "Person{" +
                    "name='" + name + '\'' +
                    ", age=" + age +
                    ", city='" + city + '\'' +
                    '}';
        }
    }
}

可以看到,我们使用了Fastjson的JSON.toJSONString方法,将Java对象转换为了Json格式的字符串。

实验结果:

使用以上两种方式转换,均可以将Json格式的字符串与Java对象相互转换。

概括:

本文介绍了如何使用Json相关的工具类快速的将Json字符串转换为Java对象,并将Java对象转换为Json格式的字符串。在实际开发中,如果项目中已经引入了Json相关的工具类库,可以直接使用相关的方法进行转换,否则需要先添加相关的工具类库。

本文标题为:Json字符串与Object、List、Map的互转工具类

基础教程推荐