温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

Json如何扩展jQuery

发布时间:2021-09-28 10:37:33 来源:亿速云 阅读:126 作者:小新 栏目:编程语言

这篇文章将为大家详细讲解有关Json如何扩展jQuery,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。

  如果等于则设为block,如果不等于这设为none,如果在将效果设置复杂一点,当点击按钮时,不是忽然隐藏和显示子菜单,而是高度平滑的转变,这时就要通过setTimeout来设置子菜单的height了。

  以前用习惯了扩展Jquery的Json,在进行ajax开发时,处理json数据非常方便;而在jQuery中,只提供了一个简单的jQuery.getJSON()方法,并未提供jQuery本身对json数据的转换处理,将json字符串转换为javascript数据对象还比较容易利用eval()函数即可,但要将javascript的数据类型转换成json字符串就比较难了;刚开始不得同

  时使用prototype.js和jQuery。

  扩展Jquery的Json代码:

  //扩展jQuery对json字符串的转换
  jQuery.extend({
  /***@see将json字符串转换为对象*@paramjson字符串*@return返回object,array,string等对象*/
  evalJSON:function(strJson){
  returneval("("+strJson+")");
  }
  });
  jQuery.extend({
  /***@see将javascript数据类型转换为json字符串*@param待转换对象,支持object,array,string,function,number,boolean,regexp*@return返回json字符串*/
  Json怎样扩展jQuery
  toJSON:function(object){
  vartype=typeofobject;
  if('object'==type){
  if(Array==object.constructor)type='array';
  elseif(RegExp==object.constructor)type='regexp';
  elsetype='object';
  }
  switch(type){
  case'undefined':
  case'unknown':
  return;
  break;
  case'function':
  case'boolean':
  case'regexp':
  returnobject.toString();
  break;
  case'number':
  returnisFinite(object)?object.toString():'null';
  break;
  case'string':
  return'"'+object.replace(/(\|")/g,"\$1").replace(/n|r|t/g,function(){
  vara=arguments[0];
  return(a=='n')?'\n':(a=='r')?'\r':(a=='t')?'\t':""
  })+'"';
  break;
  case'object':
  if(object===null)return'null';
  varresults=[];
  for(varpropertyinobject){
  varvalue=jQuery.toJSON(object[property]);
  if(value!==undefined)results.push(jQuery.toJSON(property)+':'+value);
  }
  return'{'+results.join(',')+'}';
  break;
  case'array':
  varresults=[];
  for(vari=0;i<object.length;i++){

  varvalue=jQuery.toJSON(object[i]);

  if(value!==undefined)results.push(value);

  }

  return'['+results.join(',')+']';

  break;

  }

  }

  });示例:

  varobj={

  name:"sean",

  friend:["fans","bruce","wawa"],

  action:function(){

  alert("gogogog")

  },

  boy:true,

  age:26,

  reg:/b([a-z]+)1b/gi,

  child:{

  name:"none",

  age:-1

  }

  };

  varjson=$.toJSON(obj);

  varobjx=$.evalJSON(json);

关于“Json如何扩展jQuery”这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,使各位可以学到更多知识,如果觉得文章不错,请把它分享出去让更多的人看到。

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI