当前位置:   article > 正文

如何解析JSON

解析json

@[TOC] 目录

1.什么是JSON?

  JSON: JavaScript Object Notation JS对象简谱 , 是一种轻量级的数据交换格式。
 简单来说就是:

    {
	"name":"士成历险记",
	"directory":["最初的旅人","风与诗的篇章","璃月与人的篇章","永恒的国度",{
		"name":"起点亦是终点",
		"info":"再见了,异乡人",
		}],
	"new":{
        "name":"123",
        "info":"456",
        }
    }
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11

其实JSON数据就是一段字符串,只不过用了许多分隔符将其分隔开来了

  • []代表的是一个数组
  • {}代表的是一个对象
  • “”代表属性值
  • :冒号代表代表的是前后之间的关系,冒号前面是属性的名称,后面是属性的值,这个值可以是基本数据类型,也可以是引用数据类型。

2.如何解析JSON?

  当前市面上最常用的两种解析方法,一种是Gson,还有一种是FastJson,虽然不多,但平时开发已经够用了。

由于我用的是IEDA解析的,所以再此之前我们需要导包。

1、先创建一个包

在这里插入图片描述

2、取名叫lib

在这里插入图片描述

3、然后把需要的jar包复制过来就可以了

在这里插入图片描述
Gson链接:https://search.maven.org/artifact/com.google.code.gson/gson/2.8.9/jar
FastJson链接:
https://repo1.maven.org/maven2/com/alibaba/fastjson/

4、按如下操作进行

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
这样我们就算是导包完成了,下面就可以进行解析了。

Gson解析

1、将对象转为Json字符串
public static void main(String[] args){
        //1.创建一个book对象,并传入值
        Book b = new Book(1001,"唐诗三百首","有300首诗篇");
        //2.创建Gson对象
        Gson g = new Gson();
        //3.转换
        String s = g.toJson(b);
        System.out.println(s);
    }
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9

打印效果:
在这里插入图片描述

2、将JSON字符串转为对象
public static void main(String[] args){
        //1.首先还是创建一个Gson对象
        Gson g = new Gson();
        //2.转换(输入你要转换的JSON字符串,并输入你要转换成的类)
        Book b = g.fromJson("{\"id\":1001,\"name\":\"唐诗三百首\",\"info\":\"有300首诗篇\"}", Book.class);
        //3.因为我这里转换成了Book类,所以我们来调用看看是否成功了
        System.out.println(b.getId());
    }
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8

打印效果:
在这里插入图片描述
可以看到获取到的id的确是1001。

3、将集合转换为JSON字符串
	public static void main(String[] args){
        //1.创建一个Map集合
        HashMap map = new HashMap();
        map.put("1001","一二三");
        map.put("1002","二三四");
        map.put("1003","三四五");
        //2.创建一个Gson对象
        Gson g = new Gson();
        //3.将map集合转换为JSON字符串
        String s = g.toJson(map);
        System.out.println(s);
   	}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12

打印效果:
在这里插入图片描述

FastJosn解析

1、将对象转换为JSON字符串
public static void main(String[] args){
        Book b = new Book(1002,"静夜思","床前明月光");
        //1.转换
        String s = JSON.toJSONString(b);
        System.out.println(s);
    }
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6

打印效果:
在这里插入图片描述

2、将JSON字符串转为对象
public static void main(String[] args){
        Book book = JSON.parseObject("{\"id\":1002,\"info\":\"床前明月光\",\"name\":\"静夜思\"}", Book.class);
        System.out.println(book.getId());
    }
  • 1
  • 2
  • 3
  • 4

打印效果:
在这里插入图片描述

3、将JSON字符串转为数组
public static void main(String[] args){
        List<String> list = JSON.parseArray("[\"一二三\",\"二三四\",\"三四五\"]",String.class);
        System.out.println(list.get(0));
    }
  • 1
  • 2
  • 3
  • 4

打印效果:
在这里插入图片描述

总结

  以上就介绍了最普遍的两种解析JSON的方法,在开发的时候如果想确保数据的正确,又要确保性能,则可以两个一起用,即使用Gson将bean转换json确保数据的正确,使用FastJson将Json转换Bean。兼顾性能和准确性

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/AllinToyou/article/detail/351703
推荐阅读
相关标签
  

闽ICP备14008679号