关于JSON与JSONP简单总结


Posted in Javascript onAugust 16, 2016

一、什么是json

JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式。 易于人阅读和编写。同时也易于机器解析和生成。 它基于JavaScript Programming Language, Standard ECMA-262 3rd Edition - December 1999的一个子集。 JSON采用完全独立于语言的文本格式,但是也使用了类似于C语言家族的习惯(包括C, C++, C#, Java, JavaScript, Perl, Python等)。 这些特性使JSON成为理想的数据交换语言。

二、什么是JSONP

JSONP(JSON with Padding)是资料格式 JSON 的一种“使用模式”,可以让网页从别的网域要资料。另一个解决这个问题的新方法是跨来源资源共享。

JSONP

定义:是一种跨域数据访问方式。

作用与原理:在客户端声明 callback回调函数之后,客户端通过script标签向服务器跨域请求数据,然后服务端返回相应的JSON数据并动态执行回调函数。

在jQuery中使用如下:

//JQuery JSONP Support 
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); 
});

调用 webservices 使用如下:

$.getJSON( 
"http://192.168.0.103:12050/services/WebService1.asmx/ws/test?callback=?", 
{ name: "jim", time: "2pm" }, 
function(data) {
//处理返回的json 数据
alert(decodeURI(data.msg));
});

服务器端(webservices 后台代码):

[WebMethod] 
public void ws(string name,string time) { 
HttpRequest Request = HttpContext.Current.Request; 
string callback = Request["callback"]; 
HttpResponse Response = HttpContext.Current.Response; 
Response.Write(callback + "({msg:' 返回数据'})"); 
Response.End(); 
}

总结JSONP:

两点需注意:

1.不提供错误处理机制,有数据返回,没有不显示内容,获得一个404的错误

2.如果使用了不信任的服务会造成很大的安全隐患。

JSON

与XML相比,JSON是一个轻量级的数据交换格式。易于人阅读和编写。同时也易于机器解析和生成,分两种:对象(使用下面点语法获取属性值)和数组(遍历数组,索引获取)。

1.把 JSON 文本转换为 JavaScript 对象

从 web 服务器上读取 JSON 数据,将 JSON 数据转换为 JavaScript 对象,然后在网页中使用该数据.

JavaScript 函数 eval() 可用于将 JSON 文本转换为 JavaScript 对象。必须把文本包围在括号中,这样才能避免语法错误。

即:通过eval函数将json串转换为json对象,然后可以通过两种方法访问:

关于JSON与JSONP简单总结

服务器端:

// user 实体对象,后台序列化成对象,供前台使用
string strJson = Newtonsoft.Json.JsonConvert.SerializeObject(user);
context.Response.Write(strJson);

前台:

$.getJSON( 
"webdata/test.aspx",
function(data) {
//获取对象里面的一个值(username:用户姓名)
$("#divmessage").text(data.username);
}
);

2. 数组 获取

packJson = [
{"name":"nikita", "password":"1111"},
{"name":"tony", "password":"2222"}
];

循环遍历:

for(var i = 0; i < packJson.length; i++){
alert(packJson[i].name + " " + packJson[i].password);
}

以上所述是小编给大家介绍的关于JSON与JSONP简单总结,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对三水点靠木网站的支持!

Javascript 相关文章推荐
jquery getScript动态加载JS方法改进详解
Nov 15 Javascript
ANT 压缩(去掉空格/注释)JS文件可提高js运行速度
Apr 15 Javascript
node.js微信公众平台开发教程
Mar 04 Javascript
vue开发心得和技巧分享
Oct 27 Javascript
jstree的简单实例
Dec 01 Javascript
Node.js 实现简单的接口服务器的实例代码
May 23 Javascript
JavaScript正则表达式简单实用实例
Jun 23 Javascript
JS中Safari浏览器中的Date
Jul 17 Javascript
vue使用laydate时间插件的方法
Nov 14 Javascript
重学 JS:为啥 await 不能用在 forEach 中详解
Apr 15 Javascript
js实现无缝轮播图插件封装
Jul 31 Javascript
详解Vue3使用axios的配置教程
Apr 29 Vue.js
json与jsonp知识小结(推荐)
Aug 16 #Javascript
浅谈JS继承_借用构造函数 &amp; 组合式继承
Aug 16 #Javascript
JS读写CSS样式的方法汇总
Aug 16 #Javascript
浅谈JS继承_寄生式继承 &amp; 寄生组合式继承
Aug 16 #Javascript
jQuery EasyUI Tab 选项卡问题小结
Aug 16 #Javascript
jQuery3.0中的buildFragment私有函数详解
Aug 16 #Javascript
js 自带的 map() 方法全面了解
Aug 16 #Javascript
You might like
PHP用户指南-cookies部分
2006/10/09 PHP
使用PHPMailer实现邮件发送代码分享
2014/10/23 PHP
laravel 实现登陆后返回登陆前的页面方法
2019/10/03 PHP
Javascript实现的分页函数
2007/02/07 Javascript
从零开始学习jQuery (二) 万能的选择器
2010/10/01 Javascript
百度判断手机终端并自动跳转js代码及使用实例
2014/06/11 Javascript
JS简单实现多级Select联动菜单效果代码
2015/09/06 Javascript
Bootstrap table分页问题汇总
2016/05/30 Javascript
jQuery文字轮播特效
2017/02/12 Javascript
jquery点赞功能实现代码 点个赞吧!
2020/05/29 jQuery
深入理解Node.js中通用基础设计模式
2017/09/19 Javascript
jquery实现回车键触发事件(实例讲解)
2017/11/21 jQuery
基于vue2实现左滑删除功能
2017/11/28 Javascript
一步步教你利用webpack如何搭一个vue脚手架(超详细讲解和注释)
2018/01/08 Javascript
vue项目中axios使用详解
2018/02/07 Javascript
jQuery表单元素过滤选择器用法实例分析
2019/02/20 jQuery
NodeJS 文件夹拷贝以及删除功能
2019/09/03 NodeJs
mpvue实现左侧导航与右侧内容的联动
2019/10/21 Javascript
python基础教程之udp端口扫描
2014/02/10 Python
在Python中使用zlib模块进行数据压缩的教程
2015/06/26 Python
python爬虫实战之爬取京东商城实例教程
2017/04/24 Python
Python实现获取命令行输出结果的方法
2017/06/10 Python
PyQt5 实现字体大小自适应分辨率的方法
2019/06/18 Python
python写程序统计词频的方法
2019/07/29 Python
Python实现直方图均衡基本原理解析
2019/08/08 Python
Python中用xlwt制作表格实例讲解
2020/11/05 Python
全球立体声:World Wide Stereo
2018/09/29 全球购物
英文版银行求职信
2013/10/09 职场文书
通报表扬范文
2015/01/17 职场文书
学生会个人总结范文
2015/02/15 职场文书
2015年双拥工作总结
2015/04/08 职场文书
贫困生证明范文
2015/06/16 职场文书
律师催款函范文
2015/06/24 职场文书
中学音乐课教学反思
2016/02/18 职场文书
关于食品安全的演讲稿范文(三篇)
2019/10/21 职场文书
UNION CREATIVE《Re:从零开始的异世界生活》雷姆手办
2022/03/20 日漫