JSON 与JSONP

 JSON是一种数据交换格式,JSONP是一种非官方跨域数据交互协议。

JSON的优点:

  1、基于纯文本,跨平台传递很简单。

  2、Javascript原生支持,后台语言几乎全部支持。

  3、轻量级数据格式,占用字符数量极少,特别适合互联网传递。

  4、可读性较强,虽然比不上XML一目了然,但在合理的依次缩进之后还是很容易识别的。

  5、容易编写和解析,当然前提是你知道数据结构。

JSON的格式:

   1、JSON只有两种数据类型描述符,大括号和方括号,英文冒号:是映射符,英文逗号,是分隔符,英文双引号""是定义符。

   2、大括号{}用来描述一组"不同类型的无序键值对集合"(每个键值对可以理解为OOP的属性描述),方括号[]用来描述一组"相同类型的有序数据集合"(可对应OOP的数组)。

   3、上述两种集合中若有多个子项,则通过英文逗号,进行分隔。

   4、键值对以英文冒号:进行分隔,并且建议键名都加上英文双引号"",以便于不同语言的解析。

什么是JSONP?

     Ajax直接请求普通文件存在跨域无权限访问的问题,不管你是静态页面、动态网页、Web服务、WCF,只要是跨域请求,一律不准。

     不过,Web页面上调用js文件时则不受跨域的影响(不仅如此,我们还发现凡是拥有"src"这个属性的标签都拥有跨域的能力,比如<script>、<img>、<iframe>); 于是可以判断,当前阶段如果想通过纯web端(ActiveX控件、服务端代理、属于未来的HTML5之websocket等方式不算)跨域访问数据就只有一种可能,那就是在远程服务器上设法把数据装进js格式的文件里,供客户端调用和进一步处理;

     为了便于客户端使用数据,逐渐形成了一种非正式传输协议,人们把它称作JSONP,协议的一个要点就是允许用户传递一个callback参数给服务端,然后服务端返回数据时会将这个callback参数作为函数名来包裹住JSON数据,这样客户端就可以随意定制自己的函数来自动处理返回数据了。

    

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值