Json简介及用java解析

什么是Json:

JSON( JavaScript Object Notation) 是JS对象简谱 , 是一种轻量级的数据交换格式.
可以将Java中的对象 快速的转换为 JSON格式的字符串, 也可以将JSON格式的字符串, 转换为Java的对象.

Json格式:

一个对象, 由一个大括号表示。 括号中 描述对象的属性 . 通过键值对来描述对象的属性 (可以理解为, 大括号中, 包含的是一个个的键值对.)
键与值之间使用冒号连接, 多个键值对之间使用逗号分隔. 键值对的键 应使用引号引住(通常Java解析时, 键不使用引号会报错. 而JS能正确解 析.) 键值对的值, 可以是JS中的任意类型的数据

//Json:
{
	 "name":"书名", 
	 "info":"书的简介" 
}

这个Json所描述的java对象可以用java这样表示:

class Book{ 
	private String name; 
	private String 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 BookTest{
	public static void main(String[] args){
		Book b = new Book();
		b.setName(“书名”);
		b.setInfo(“书的简介”);
	}
}

在JavaScript中,这样表示:

var b = new Object();
b.name = "书名"; 
b.info = "书的简介";

也可以使用XML表示:

<book>
	<name>书名</name> 
	<info>书的简介</info> 
</book>

在Json中,属性也可以用数组表示,数组的格式是:[元素1,元素2…],属性值也可以设置为对象
其中,数组内的元素可以是数字、字符串,还可以是对象,举个例子:

//Json:
{
	 "name":"书名", 
	 "info":"书的简介" 
	 "bookshelf":["第一本书","第二本书",{
	 				"name":"第三本书", 
	 				"info":"书的简介" 
	 			}]
	 "author":{
	 	"name":"作者1"
	 	"age":20
	 }
}
Json分类:
Gson

是由谷歌公司发布的

  • 将对象转换为JSON字符串
    转换JSON字符串的步骤:
  1. 引入JAR包
  2. 在需要转换JSON字符串的位置编写如下代码即可:
    String json = new Gson().toJSON(要转换的对象);

由对象转为Json:

//1.    创建Gson对象
Gson g = new Gson();
 //2.    转换
Book b = new Book("书名","书的简介");
String s = g.toJson(b);
System.out.println(s);
  • 将JSON字符串转换为对象
  1. 引入JAR包
  2. 在需要转换Java对象的位置, 编写如下代码:
    对象 = new Gson().fromJson(JSON字符串,对象类型.class);

由Json转换为java对象:

//1.    创建Gson对象
 Gson g = new Gson();
//2.    转换  :  {"name":"书名1","info":"简介1"}
Book b = g.fromJson("{\"name\":\"书名1\",\"info\":\"简介1\"}", Book.class);
System.out.println(b.getName());
FastJson

是由阿里巴巴公司发布的

  • 将对象转换为JSON字符串
    转换JSON字符串的步骤:
  1. 引入JAR包
  2. 在需要转换JSON字符串的位置编写如下代码即可:
    String json=JSON.toJSONString(要转换的对象);
Book book = new Book("书名1","简介1");
        //1.    转换
        String json = JSON.toJSONString(book);
        System.out.println(json);
  • 将JSON字符串转换为对象
  1. 引入JAR包
  2. 在需要转换Java对象的位置, 编写如下代码:
    类型 对象名=JSON.parseObject(JSON字符串, 类型.class); 或
    List<类型> list=JSON.parseArray(JSON字符串,类型.class);
//1.    转换  : {"info":"简介1","name":"书名1"}
        Book book = JSON.parseObject("{\"info\":\"简介1\",\"name\":\"书名1\"}", Book.class);
        System.out.println(book.getName());
如何导入Jar包:

将准备好的Jar包复制,在Project下新建一个lib文件夹

java里json解析处理 java 解析json对象_字符串


将jar包复制到这个文件夹下(刚粘贴过来左边是没有小三角的,不能单击打开)

java里json解析处理 java 解析json对象_java里json解析处理_02


打开文件-项目结构:导入一个src

java里json解析处理 java 解析json对象_JSON_03


再点击Libraries,点击刚创建好的src,点击加号,选中刚刚粘贴过来的jar包就完成了。

java里json解析处理 java 解析json对象_字符串_04