JSON和JSONP的区别

本文对比分析了JSON和JSONP两种数据传输方式的区别。JSON是一种轻量级的数据格式,广泛应用于互联网数据交换;而JSONP则是一种解决跨域请求问题的技术方案。本文详细解释了JSON的特点及JSONP的工作原理。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

JSON和JSONP的区别总结如下:

  1. JSON是一种数据格式的定义,JSONP则是数据传输的方式。一个是静止的,一个是动态的。

  2. JSON是一种数据交换格式,而JSONP是一种依靠开发人员的聪明才智创造出的一种非官方跨域数据交互协议。

  3. json的特点:

1)、基于纯文本,跨平台传递极其简单;
2)、Javascript原生支持,后台语言几乎全部支持;
3)、轻量级数据格式,占用字符数量极少,特别适合互联网传递;
4)、可读性较强,虽然比不上XML那么一目了然,但在合理的依次缩进之后还是很容易识别的;
5)、容易编写和解析,当然前提是你要知道数据结构

4.jsonp的使用方法 :

JSONP的出现是为了解决Ajax跨域请求问题,所谓的跨域请求问题,即访问不同的域 (只要协议、域名、端口有任何一个不同,都被当作是不同的域) 的资源的时候会被拒绝。

JSONP传输方式的原理

因为在HTML标签中<script>、<img>、<iframe>三个标签的跨域访问不受限制,所以其实可以利用这三个标签,把原来直接通过Ajax请求结果数据的方式,换为请求返回一段js代码,而这段代码可以通过<script>标签插入到DOM结构中,从而被执行,比较特别的是这段js代码其实就是一个包装了JSON数据的JS函数。具体可以表述为下面代码:

$.getJSON(' http://example.com/data.php?callback=?,function(jsondata)'){
       //处理获得的json数据
   });
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值