JSON的解析教程

JSON的解析教程

解析JSON有两个常见的方法:GSON(谷歌)、和FastJSON(阿里)

1.GSON

1.导入jar包

下载地址:https://github.com/google/gson

导入jar包教程:https://blog.csdn.net/weixin_43907332/article/details/94833929

2.对象转JSON

Book对象:

public class Book {
    private String name;
    private String info;

    public Book(String name, String info) {
        this.name = name;
        this.info = info;
    }

    public Book() {
    }

    @Override
    public String toString() {
        return "Book{" +
                "name='" + name + '\'' +
                ", info='" + info + '\'' +
                '}';
    }

    @Override
    public boolean equals(Object o) {
        if (this == o) return true;
        if (o == null || getClass() != o.getClass()) return false;
        Book book = (Book) o;
        return Objects.equals(name, book.name) &&
                Objects.equals(info, book.info);
    }

    @Override
    public int hashCode() {
        return Objects.hash(name, info);
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public String getInfo() {
        return info;
    }

    public void setInfo(String info) {
        this.info = info;
    }
}
public class Demo2 {
    public static void main(String[] args) {
        //1.创建Gson对象
        Gson g = new Gson();
        //2.转换
        Book b = new Book("金苹果","苹果种植的过程!");
        String s = g.toJson(b);
        System.out.println(s);
    }
}

运行结果:

image-20201228214715971

3.JSON转对象

    public static void main(String[] args) {
        //1.创建Gson对象
        Gson g = new Gson();
        //2.转换
        Book book = g.fromJson("{\"name\":\"金苹果\",\"info\":\"苹果种植的过程!\"}", Book.class);
        System.out.println(book.getName());
    }

运行结果:

image-20201228214828008

4.JSON转集合

    public static void main(String[] args) {
        //1.创建对象
        Gson g = new Gson();
        //2.转换
        HashMap hashMap = g.fromJson("{\"name\":\"金苹果\",\"info\":\"苹果种植的过程!\"}", HashMap.class);
        System.out.println(hashMap.get("info"));
    }

运行截图:

image-20201228214929974

注:转的过程中,JSON字符串包含数组的部分会被转成ArraryList。

2.FastJSON

1.下载jar包

下载地址:https://github.com/alibaba/fastjson

导入jar包教程:https://blog.csdn.net/weixin_43907332/article/details/94833929

2.对象转JSON

    public static void main(String[] args) {
        Book b = new Book("金苹果","苹果种植的过程!");
        //1.转换
        String s = JSON.toJSONString(b);

        System.out.println(s);
    }

运行截图:

image-20201228215244408

3.JSON转对象

    public static void main(String[] args) {
        //1.转换
        Book book = JSON.parseObject("{\"info\":\"苹果种植的过程!\",\"name\":\"金苹果\"}", Book.class);

        System.out.println(book.getInfo());
    }

运行截图:

image-20201228215341750

4.JSON转集合

    public static void main(String[] args) {
        //1.转换 ["一二三","四五六","七八九"]
        List<String> strings = JSON.parseArray("[\"一二三\",\"四五六\",\"七八九\"]", String.class);

        System.out.println(strings.get(1));
    }

运行截图:

image-20201228215427685

posted @ 2020-12-28 22:00  回到原点abc  阅读(115)  评论(0)    收藏  举报