jQuery 中使用 JSON
来源:互联网 发布:互联网金融与数据挖掘 编辑:程序博客网 时间:2024/04/26 01:03
在 jQuery 中已经提供了对于解析 JSON 的内在支持,
jQuery.parseJSON 函数提供了解析的支持,详细的说明见这里。
使用对象生成 JSON 格式串
在 jQuery 中并没有提供直接将普通的 JavaScript 对象转换为 JSON 串的方法,可以使用下面的扩展库来完成。
jquery-json 扩展库
这个库用来扩展 jQuery ,对于 JSON 的使用,扩展了两个方法。
toJSON 方法用来将一个普通的 JavaScript 对象序列化为 JSON 串。
evalJSON 方法将一个 JSON 串解析为一个普通的 JavaScript 对象。
以下是我一直发送失败,加了$.toJSON(senddata)后马上就成功了。使用$.toJSON需要一个jQuery插件,见附件。
jQuery.parseJSON 函数提供了解析的支持,详细的说明见这里。
var obj = jQuery.parseJSON('{"name":"John"}');alert( obj.name === "John" );
使用对象生成 JSON 格式串
在 jQuery 中并没有提供直接将普通的 JavaScript 对象转换为 JSON 串的方法,可以使用下面的扩展库来完成。
jquery-json 扩展库
这个库用来扩展 jQuery ,对于 JSON 的使用,扩展了两个方法。
toJSON 方法用来将一个普通的 JavaScript 对象序列化为 JSON 串。
var thing = {plugin: 'jquery-json', version: 2.3}; var encoded = $.toJSON( thing ); // '{"plugin":"jquery-json","version":2.3}'
evalJSON 方法将一个 JSON 串解析为一个普通的 JavaScript 对象。
var thing = {plugin: 'jquery-json', version: 2.3}; var encoded = $.toJSON( thing ); // '{"plugin":"jquery-json","version":2.3}' var name = $.evalJSON( encoded ).plugin; // "jquery-json" var version = $.evalJSON(encoded).version; // 2.3
以下是我一直发送失败,加了$.toJSON(senddata)后马上就成功了。使用$.toJSON需要一个jQuery插件,见附件。
var user=new Object();user.email = email;user.first_name = firstName;user.last_name = lastName;user.password = password;var senddata = {};senddata.user=user;senddata.api_key=levelup_api_key;//log(JSON.stringify(senddata));var encoded = $.toJSON(senddata);$.ajax({ type: "POST", url: levelup_register,//url data: encoded, headers: {'Accept': 'application/json','Content-Type': 'application/json',}, beforeSend: function() {$.mobile.showPageLoadingMsg();}, complete: function() {$.mobile.hidePageLoadingMsg();}, success: function(data){ doSignInLevelUp_base(email,password); }, error: function(error){// log(JSON.stringify(error)); showAlert(error.status+":"+error.statusText); } });