文章目录
前言
简介:JSON: JavaScript Object Notation JS对象简朴,是一种轻量级的数据交换格式
一、java、js、XML、JSON格式之间的对比
一本书
书名
简介
java
class Book{
private String name;
private String info;
get/set…
}
Book b = new Book();
b.setName(“西游记”);
b.setInfo(“师徒四人取经”);
…
js:
var b = new Object();
b.name = “西游记”;
b.info = “师徒四人取经”;
XML:
西游记
师徒四人取经
JSON:
{
“name”:“西游记”,
“info”:“师徒四人取经”
}
从以上格式来看java的格式是最不方便使用的,JSON的格式是最方便使用的,也方便去调用,一个对象由一个大括号表示,括号中可以来表示对象的属性,并且是通过键值对来使用的,所以使用数组的时候可以通过来创建HashMap来对JSON里面的数组进行使用,并且键值对的值可以是任意的数据类型
二、JSON最常用的两种格式
1、前置步骤
需要将在网上下载的格式复制到IDEA中并且能够使得他们能都在IDEA中打开并使用其中的类
(1)把在网上下载的复制到scr中
(2)新建一个文件夹再把刚刚复制的内容放到文件夹中
(3)点击左上角的文件,并选择project Structure
(4)选择Libraries,请选择加号来添加你刚刚复制的文件
(5)选择左上角的Add Content Root 再一次添加你刚刚复制的内容
(6)最后保存关闭,查看你刚刚复制的内容是否可以打开了
2、Gson
谷歌的JSON
public static void main(String[] args) {
//先创建一个新的Gson
// Gson gs = new Gson();
//把你所解析的类给定义
// Person p = new Person("zgl","男","18");
//把类给传入,并由gs.toJon来解析
// String s = gs.toJson(p);
//打印
// System.out.println(s);
Person p = new Person("zgl","男","18");
String s = new Gson().toJson(p);
System.out.println(s);
}
//Person类
public class Person {
private String name;
private String sex;
private String age;
public Person() {
}
public Person(String name, String sex, String age) {
this.name = name;
this.sex = sex;
this.age = age;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
//解析传入的数据
public static void main(String[] args) {
HashMap map = new Gson().fromJson("{\"name\":\"zgl\",\"sex\":\"男\",\"age\":[\"18\",\"20\",\"25\",\"55\",\"15\"]}", HashMap.class);
List age = (List) map.get("age");
System.out.println(age.get(4));
}
3、fastJson
阿里的Json
public static void main(String[] args) {
// Person p = new Person("zgl","男","18");
// String json = JSON.toJSONString(p);
// System.out.println(json);
HashMap map = JSON.parseObject("{\"name\":\"zgl\",\"sex\":\"男\",\"age\":[\"18\",\"20\",\"25\",\"55\",\"15\"]}", HashMap.class);
List age = (List) map.get("age");
System.out.println(age.get(3));
}