json的介绍(二)----json在web的使用
程序员文章站
2022-07-15 14:24:15
...
现在来看一下它在web的使用:
因为语言的不同,在action中对json的使用方式也不一样,但思路是一样的,那就是将json转换为对象或数组。你使用哪种语言,请参照本语言使用json的方式。
1、使用javascript操作json
在js中创建一个json对象:
在实际应用中,有可能从后台返回一个json对象进行解析,代码如下:
eval 函数非常快,但是它可以编译任何 javascirpt 代码,这样的话就可能产生安全的问题。eval 的使用是基于传入的代码参数是可靠的假设的,有一些情况下,可能客户端是不可信任的。
2、使用jQuery操作json
使用jQuery来解析json,要使用一个jQuery的扩展来实现 jquery.json-2.4.js
1.首先,在javascript中要获取前端页面中所有输入域的值,保存到数组或一个对象中,这个对象可以不以json的形式保存,而以js的对象形式保存(目的是为了说明jQuery.js的用法)。
2.将js对象或数组转换成JSON格式。导入jQuery.js及其扩展jquery.json.js,使用($.toJSON( jsObj ); )代码如下:
通过上面的代码,这个对象或数组就被保存成为了JSON格式的数据了。
3.将这个JSON对象传入action中进行处理,然后返回。
4.如果返回的是一个json,那么各户端接收以后需要将json格式的数据转换为javascrip中的对象或数组($.evalJSON( jsonObj ); ),代码如下:
jQuery的下载地址:http://jquery.com/download/
jquery-json扩展的下载地址:http://code.google.com/p/jquery-json/
3、使用prototype操作jsos
将js对象或数组转换成JSON格式。导入prototype.js,使用代码如下:
将json格式的数据转换为javascrip中的对象或数组。代码如下:
好了,这样就转换成js中的对象或数组了。同样你也可以使用javascript中的eval函数进行转换(eval(json对象))。
还有如json.js的框架,也能转换json,这里不再敷述,原因是jQuery.js,prototype.js的功能已经十分强大,已经没有必要再使用json.js了。使用时建议只使用一种,不然会有冲突。
附件中带有jQuery和prototype的框架及说明文档
因为语言的不同,在action中对json的使用方式也不一样,但思路是一样的,那就是将json转换为对象或数组。你使用哪种语言,请参照本语言使用json的方式。
1、使用javascript操作json
在js中创建一个json对象:
var obj= { name: " 张三 " , "sex" : ' 男 ' } ; alert(obj.sex); //使用
在实际应用中,有可能从后台返回一个json对象进行解析,代码如下:
eval(obj); //json Object --> JavaScript Object alert(obj.sex);
eval 函数非常快,但是它可以编译任何 javascirpt 代码,这样的话就可能产生安全的问题。eval 的使用是基于传入的代码参数是可靠的假设的,有一些情况下,可能客户端是不可信任的。
2、使用jQuery操作json
使用jQuery来解析json,要使用一个jQuery的扩展来实现 jquery.json-2.4.js
1.首先,在javascript中要获取前端页面中所有输入域的值,保存到数组或一个对象中,这个对象可以不以json的形式保存,而以js的对象形式保存(目的是为了说明jQuery.js的用法)。
2.将js对象或数组转换成JSON格式。导入jQuery.js及其扩展jquery.json.js,使用($.toJSON( jsObj ); )代码如下:
var jsObj= {plugin: 'jquery-json', version: 2.4}; var encoded = $.toJSON( jsObj ); // '{"plugin":"jquery-json","version":2.4}'
通过上面的代码,这个对象或数组就被保存成为了JSON格式的数据了。
3.将这个JSON对象传入action中进行处理,然后返回。
4.如果返回的是一个json,那么各户端接收以后需要将json格式的数据转换为javascrip中的对象或数组($.evalJSON( jsonObj ); ),代码如下:
var jsObj= {plugin: 'jquery-json', version: 2.4}; var jsonObj= $.toJSON( jsObj ); // '{"plugin":"jquery-json","version":2.4}' var javascriptObj= $.evalJSON( jsonObj ); alert(javascriptObj.plugin); // "jquery-json" ;转换后使用javascript对象 alert(javascriptObj.version); // 2.4
jQuery的下载地址:http://jquery.com/download/
jquery-json扩展的下载地址:http://code.google.com/p/jquery-json/
3、使用prototype操作jsos
将js对象或数组转换成JSON格式。导入prototype.js,使用代码如下:
对象.toJSON(); //或者 数组.toJSON();
将json格式的数据转换为javascrip中的对象或数组。代码如下:
json对象.evalJSON();
好了,这样就转换成js中的对象或数组了。同样你也可以使用javascript中的eval函数进行转换(eval(json对象))。
还有如json.js的框架,也能转换json,这里不再敷述,原因是jQuery.js,prototype.js的功能已经十分强大,已经没有必要再使用json.js了。使用时建议只使用一种,不然会有冲突。
附件中带有jQuery和prototype的框架及说明文档