加入收藏 | 设为首页 | 会员中心 | 我要投稿 湖南网 (https://www.hunanwang.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 建站 > 正文

JSON是什么?它能带来什么?它和XML较量?

发布时间:2019-04-30 11:28:53 所属栏目:建站 来源:Java芋道源码
导读:一、JSON是什么? 二、假如到这里你还不大白?JSON是什么,那么我就发大招了! 三、它能带来什么? 四、它和XML比拟? XML Demo JSON Demo Java常用的json库 总结 一、JSON是什么? 有一种叫做JSON (JavaScript Object Notation) 的轻量级数据互换名目可以或许
副问题[/!--empirenews.page--]

JSON是什么?它能带来什么?它和XML较量?

  • 一、JSON是什么?
  • 二、假如到这里你还不大白?JSON是什么,那么我就发大招了!
  • 三、它能带来什么?
  • 四、它和XML比拟?
  • XML Demo
  • JSON Demo
  • Java常用的json库
  • 总结

一、JSON是什么?

有一种叫做JSON (JavaScript Object Notation) 的轻量级数据互换名目可以或许更换XML的事变。它就是JSON。

数据名目较量简朴, 易于读写, 名目都是压缩的, 占用带宽小。

易于理会这种说话, 客户端JavaScript可以简朴的通过eval()举办JSON数据的读取。

包罗ActionScript, C, C#, ColdFusion,Java,JavaScript,Perl,PHP,Python,Ruby等说话处事器端说话, 便于处事器端的理会。

各说话对JSON支持的出格好,自从Ajax的风行,JSON名目传输就更风行了。

二、假如到这里你还不大白?JSON是什么,那么我就发大招了!

着实我在为公司口试的时辰,我常常有提到,若是我不知道JSON是个什么玩意?你怎么汇报我,让我知道是个什么对象。(下面都是我的小我私人领略,因领略因人而异,受用即可!)

问了这么多人,着实功效不是我想要的,大大都的谜底有这些。

它是前端和靠山交互用的。

它是键值对的。

以上2点较量多。尚有一些参差不齐的完全偏离了JSON。

那么它应该是奈何的?应该这么答复,小我私人以为!

起首,它只是一个字符串,它只是一个有法则的字符串。(重点)

然后它的表达(示意)情势是键值对的。着实很是相同Java说话里的Map,Objective-C里的字典,其他说话都有对应的,我说真话其他说话我不知道!我为什么用MapString泛型,由于理论上它的键值对应该都是字符串,Why?这个题目问的好,我可以这么答复你,由于它自己就是字符串。

上面说的理论上表达方法,那么现实今朝我们用到的键值对支持什么呢?可以支持String、Number、Array以及Boolean、null什么的。

它的浸染是用来交互的,不必然Web项目标前后端交互也可以接口,设置文件,文件存储等等都OK。今朝移动端较量火,一样平常的项目城市用JSON来传输。

三、它能带来什么?

简捷、简朴、体积小等。

上手轻易,高效。

跨说话,今朝移动端Android、IOS一样平常项目结构都是其他说话提供接口(JSON方法),移动端读取接口的方法开拓。

….

四、它和XML比拟?

可读性:看了网上的各类帖子,有说可读性相等,不外根基是说XML可读性好,我以为还拼凑。可以打平局。

可扩展性:有人说,“XML生成有很好的扩展性,JSON虽然也有,没有什么是XML能扩展,JSON不能的。不外 JSON在Javascript主场作战,可以存储Javascript复合工具,有着XML不行相比的上风”。我拥护一半,我认为这些帖子都是老帖子,XML可以机动扩展是由于各类说话有支持的其他Jar包,类库等。但自从JSON火起来后,JSON的支持包,类库等,信托每个说话都许多。像Java就有Jackson、goson、json-lib、FastJson等等多的去了。

编码难度:XML有有DOM,SAX,STAX等理会技能,JSON也有我上面说的那些,都OK。

解码难度:同上。

解码编码服从:呵呵!理会XML有专用CPU、你造吗?

下面给一个Demo

XML Demo

  1. <?xml version="1.0" encoding="utf-8"?> 
  2. <country> 
  3.  <name>中国</name> 
  4.  <province> 
  5.  <name>黑龙江</name> 
  6.  <citys> 
  7.  <city>哈尔滨</city> 
  8.  <city>大庆</city> 
  9.  </citys> 
  10.  </province> 
  11.  <province> 
  12.  <name>广东</name> 
  13.  <citys> 
  14.  <city>广州</city> 
  15.  <city>深圳</city> 
  16.  <city>珠海</city> 
  17.  </citys> 
  18.  </province> 
  19.  <province> 
  20.  <name>台湾</name> 
  21.  <citys> 
  22.  <city>台北</city> 
  23.  <city>高雄</city> 
  24.  </citys> 
  25.  </province> 
  26.  <province> 
  27.  <name>新疆</name> 
  28.  <citys> 
  29.  <city>乌鲁木齐</city> 
  30.  </citys> 
  31.  </province> 
  32. </country> 

JSON Demo

  1.  "name": "中国", 
  2.  "province": [  {  "name": "黑龙江",  "citys": {  "city": [  "哈尔滨",  "大庆"  ]  }  },  {  "name": "广东",  "citys": {  "city": [  "广州",  "深圳",  "珠海"  ]  }  },  {  "name": "台湾",
  3.  "citys": {  "city": [  "台北",  "高雄"  ]  }  },  {  "name": "新疆",  "citys": {  "city": [  "乌鲁木齐"  ]  }  }  ] 

Java常用的json库

(编辑:湖南网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

热点阅读