手机版

JSON和JSONP的简要概述

时间:2021-09-07 来源:互联网 编辑:宝哥软件园 浏览:

首先,什么是json

JSON是一种轻量级的数据交换格式。便于人们阅读和书写。同时,便于机器分析和生成。它基于JavaScript编程语言,是标准ECMA-262第三版-1999年12月的子集。JSON采用了完全独立于语言的文本格式,但也使用了类似C语言家族的习惯(包括C、C、C #、Java、JavaScript、Perl、Python等。).这些特性使JSON成为一种理想的数据交换语言。

二、什么是JSONP

JSONP(带有Padding的JSON)是数据格式JSON的一种“使用模式”,它允许网页向其他域请求数据。解决这个问题的另一个新方法是跨资源共享。

JSONP

定义:它是一种跨域的数据访问方法。

功能与原理:客户端声明回调函数后,客户端通过脚本标签跨域向服务器请求数据,然后服务器返回对应的JSON数据,动态执行回调函数。

在jQuery中使用如下:

//JQuery JSONP支持var URL=' http://192 . 168 . 0 . 103:12075/API/test . aspx?id=1callback=?';Jquery。getjson (URL,function(data){//处理返回的json数据alert ('name3360' data.name ',price : ' data . price);});调用webservices使用以下内容:

$.getJSON(' http://192 . 168 . 0 . 103:12050/services/webservice 1 . asmx/ws/test?回调=?”,{name:' Jim ',time:' 2pm'},function(data){//处理返回的json数据alert(alert(DeCodeuri(data . msg)););});服务器端(webservices背景代码):

[WebMethod] public void ws(字符串名称,字符串时间){ Httprequest Request=HttpContext。当前。请求;字符串回调=请求['回调'];HttpResponse=HttpContext。当前。响应;回应。write(回调'({msg: '返回数据' })');回应。end();}总结JSONP:

应该注意两点:

1.不提供错误处理机制,返回一些数据,不显示任何内容,并且获得404的错误

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

JSON

与XML相比,JSON是一种轻量级的数据交换格式。便于人们阅读和书写。同时很容易被机器解析生成,可以分为两种类型:对象(使用以下语法获取属性值)和数组(遍历数组和索引)。

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

从web服务器读取JSON数据,将JSON数据转换成JavaScript对象,然后使用Web页面中的数据。

JavaScript函数eval()可用于将JSON文本转换为JavaScript对象。文字必须用括号括起来,以免出现语法错误。

也就是说,json字符串通过eval函数转换为json对象,然后可以通过两种方式访问:

服务器端:

//用户实体对象,在后台序列化为对象,前台使用。string str JSON=newtonsoft . JSON . jsonconvert . serializeobject(用户);语境。回应.写(strJson);前台:

$.getjson ('webdata/test.aspx ',function(data){//获取对象(username:用户名)$ ('# divmessage ')中的值。文本(data . username);});2.阵列采集

packJson=[{'name':'nikita ',' password':'1111'},{'name':'tony ',' password ' : ' 2222 ' }];循环遍历:

for(var I=0;i packJson.lengthi ){alert(packJson[i]。名为“packJson[i]”。密码);}以上是边肖介绍的JSON和JSONP的简要总结,希望对大家有所帮助。如果你有任何问题,请给我留言,边肖会及时回复你。非常感谢您对我们网站的支持!

版权声明:JSON和JSONP的简要概述是由宝哥软件园云端程序自动收集整理而来。如果本文侵犯了你的权益,请联系本站底部QQ或者邮箱删除。