简介:
JSON是JavaScript Object Notion的简称,是JS对象简谱,是一种轻量级的数据交换格式。
格式:
一个对象,由一个大括号表示,括号中,描述对象的属性,通过键值对来描述对象的属性 (可以理解为大括号中包含一个个的键值对)
常规格式:(1)键与值之间使用冒号链接,多个键值对用逗号隔开,最后一个键值对不用逗号
(2)键值对的键通常用引号引起来(通常用在java解析中),且键值可以是JS中的任何值
例: {
"name":"张三",
"infor":"这是一个学生"
}
数组格式:在JSON中可以与对象嵌套 [元素1,元素2,,,,]
Java和JSON的联系:
JSON在Java中能够做什么?
(1)将Java中的对象快速转换为JSON格式的字符串
(2)将JSON格式的字符串,转换Java的对象
常用的开源JSON:
谷歌GSON:
- 将对象转换为JSON字符串
步骤:
1.引用JAR包(这个包可以在谷歌开源网站下载地址:GitHub - google/gson: A Java serialization/deserialization library to convert Java Objects into JSON and back)
2.在需要转换的地方输入以下代码:
//创建Gson对象
/*Gsong=newGson();*/
//转换:{"id":1,"name":"金苹果","Infor":"这是农民种的"}
/*Bookb=newBook(1,"金苹果","这是农民种的");
Strings=g.toJson(b);
System.out.println(s);*/
- 将JSON字符串转换为对象
步骤:
1. 1.引用JAR包(这个包可以在谷歌开源网站下载地址:GitHub - google/gson: A Java serialization/deserialization library to convert Java Objects into JSON and back)
2.在需要转换的地方输入以下代码:
//转换:对象 /*Book b= g.fromJson("{\"id\":1,\"name\":\"金苹果\",\"Infor\":\"这是农民种的\"}",Book.class); System.out.println(b.toString());*/
阿里巴巴fastson
- 将JSON转换为对象
常见面试题:
1.什么是JSON和XML?
JSON和XML都是数据交换格式,JSON轻量级的数据交换格式、XML标记电子文件使其具有结构性的标记语言。
2.JSON与XML区别是什么? 有什么共同点?
XML它是用于RPC远程调用数据交换格式,因为XML文件格式复杂,比较占宽带,不易于维护,服务器端与客户端解析xml话费较多的资源和时间.
JSON它是用于RPC远程调用数据交换格式,因为JSON文件格式压缩,占宽带小,易于维护。
3.为什么用JSON不用XML?
json是轻量级,xml是重量级。因为xml是重量级的,文件格式复杂,所以在远程调用时,比较占宽带。 json因为是轻量级,文件格式都是压缩的,占宽带小。
4.JSON、XML解析有那些方式?
JSON解析方式(阿里巴巴fastjson、谷歌gson,jackJson)
XML解析方式(dom、sax、pul)
5.哪里说一下JSON、XML你是在哪里用的?
例如:一般现在移动APP接口都采用JSON,因为json占宽带小。
例如:我们公司微信开发,微信接口都是JSON格式的, 微信事件推送是XML。
JSON和XML都是在远程调用或者是和某公司合作定义数据交换格式。