本文主要是介绍JSON 和JSONP 分析,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
一、JSON
1、JSON是一种轻量级的基于文本的数据交换方式。或者叫做数据描述格式,JSON语法是JavaScript对象表示语法的子集。
2、JSON语法规则
* 数据在键值对中
* 数据由逗号分隔
*花括号保存对象
*方括号保存数组
3、JSON的优点
*基于纯文本,跨平台传递及其简单;
* JavaScript原生支持,后台语言几乎全部支持
*轻量级数据格式,占用字符数量极少,特别适合互联网传递
*容易编写和解析
4、JSON的缺点
*语法过于严谨
*代码不易读
* eval函数存在风险:eval(‘ [’+text+’]’);要么得确保text是可信任的;要么给text的数据做数据结构解析,或者安全性检测(字符串层面)
5、JSON实例
var stu = {
“Name”:”mm”,
“Age”:32,
“School”:”ZZU”,
“Student”:true
};
// 获取学生学校信息
var stuSchool = stu.School;// 描述多个学生时:
var stu = {
{“Name”:”mm”,
“Age”:32,
“School”:”ZZU”,
“Student”:true
}, {
“Name”:”ff”,
“Age”:32,
“School”:”ZZU”,
“Student”:true
}, {
“Name”:”zz”,
“Age”:32,
“School”:”ZZU”,
“Student”:true
}
};
// 获取zz 的年龄
var stuAge = stu[2].Age;
二、JSONP
JSONP是JSON的一种“使用模式”,可用于解决主流浏览器的跨域和数据访问的问题。
1、作用和原理:
在客户端声明callback回调函数之后,客户端通过script标签向服务器跨域请求数据,然后服务器端返回相应的JSON数据动态执行回调函数。
(a)、JQuery使用
var url = "http://192.168.0.103:12075/api/test.aspx?id=1&callback=?"; jQuery.getJSON(url, function(data){
// 处理返回的json 数据alert("name:" + data.name+ ", Price:" + data.price);
});
(b)、调用webservice使用:
var url = " http://192.168.0.103:12050/services/WebService1.asmx/ws/test?callback=? " ;
$.getJSON(url,{
name:”JIM”,
age:”32”
},function( data ) {
// 处理返回的Json数据
alert(decodeURI(data.msg));
});
2、总结:
(a)、不提供错误处理机制,有数据返回,没有显示内容,获得一个404错误
(b)、但是如果使用了不信任的服务时会造成很大的安全隐患
这篇关于JSON 和JSONP 分析的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!