jsonjsonp的定义和区别

Posted 卡布kaka

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了jsonjsonp的定义和区别相关的知识,希望对你有一定的参考价值。

一、区别

  简单来说,json是一种数据交换格式,jsonp是一种非官方跨域数据交互协议。json描述的是信息的格式,而jsonp是信息传递双方约定的方法。json返回的是一串数据,而 jsonp返回的是脚本代码(包含一个函数调用)。

  json是理想的数据交换格式,但是没有办法跨域直接获取,于是就将json包裹在一个合法的js语句中作为js文件传过去。json是想要的东西,jsonp是获取这个东西采取的方法,所以最终获得和处理的还是json。所以可以这么说,json是目的,jsonp只是手段。json总会用到,而jsonp只有在跨域数据获取的时候才会用到。

二、定义

  json可以理解为是一种格式,它的键必须用双引号。json格式的对象必须写在{}花括号里面,json格式的数组写在[]大括号里面。

  JSON.parse(字符串)可以将json字符串转换成json对象;JSON.stringify(jsonObj)可以将json对象转换成json字符串。

  jsonp实现跨域的原理:

    利用script标签没有跨域限制来达成和第三方通信,允许用户传一个callback给服务端,服务端返回数据会将这个callback参数作为函数名来包裹json数据,这样客户端就可以定制自己的函数来处理返回的数据。

以上是关于jsonjsonp的定义和区别的主要内容,如果未能解决你的问题,请参考以下文章

VO,PO,POJO的定义和区别(求教啊)

RCDATA 和用户定义的资源有啥区别?

自定义 UIStoryboardSegue 和 UIViewController 转换之间的区别

存储过程和用户​​定义函数的区别

URI和URL的区别

宏定义 #define 和常量 const 的区别