JSON介绍与解析

简介

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都是在远程调用或者是和某公司合作定义数据交换格式。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值