`
romantictravel
  • 浏览: 16044 次
  • 性别: Icon_minigender_1
  • 来自: 广州
最近访客 更多访客>>
社区版块
存档分类
最新评论

jquery-json-extend

阅读更多
jQuery.extend(
{
  /**
   * @see  将json字符串转换为对象
   * @param   json字符串
   * @return 返回object,array,string等对象
   */
  evalJSON : function (strJson)
  {
   return eval( "(" + strJson + ")");
  }
});
jQuery.extend(
{
  /**
   * @see  将javascript数据类型转换为json字符串
   * @param 待转换对象,支持object,array,string,function,number,boolean,regexp
   * @return 返回json字符串
   */
  toJSON : function (object)
  {
   var type = typeof object;
   if ('object' == type)
   {
    if (Array == object.constructor)
     type = 'array';
    else if (RegExp == object.constructor)
     type = 'regexp';
    else
     type = 'object';
   }
      switch(type)
   {
         case 'undefined':
       case 'unknown':
     return;
     break;
    case 'function':
       case 'boolean':
    case 'regexp':
     return object.toString();
     break;
    case 'number':
     return isFinite(object) ? object.toString() : 'null';
       break;
    case 'string':
     return '"' + object.replace(/(\\|\")/g,"\\$1").replace(/\n|\r|\t/g,
       function(){
                 var a = arguments[0];
        return  (a == '\n') ? '\\n':
                       (a == '\r') ? '\\r':
                       (a == '\t') ? '\\t': ""
             }) + '"';
     break;
    case 'object':
     if (object === null) return 'null';
        var results = [];
        for (var property in object) {
          var value = jQuery.toJSON(object[property]);
          if (value !== undefined)
            results.push(jQuery.toJSON(property) + ':' + value);
        }
        return '{' + results.join(',') + '}';
     break;
    case 'array':
     var results = [];
        for(var i = 0; i < object.length; i++)
     {
      var value = jQuery.toJSON(object[i]);
           if (value !== undefined) results.push(value);
     }
        return '[' + results.join(',') + ']';
     break;
      }
  }
});


/**
示例:

var obj = {
   name : "sean",
   friend : ["fans","bruce","wawa"],
   action : function(){alert("gogogog")},
   boy  : true,
   age : 26,
   reg : /\b([a-z]+) \1\b/gi,
   child : {
    name : "none",
    age : -1
   }
  };
  var json = $.toJSON(obj);
  var objx = $.evalJSON(json);

*/
分享到:
评论
发表评论

文章已被作者锁定,不允许评论。

相关推荐

    jquery.json-2.3.min.js和jquery.json-2.3.js

    jquery.json-2.3.min.js和jquery.json-2.3.js jQuery为开发插件提拱了两个方法,分别是:jQuery.extend(object); 为扩展jQuery类本身 jQuery.fn.extend(object);给jQuery对象添加方法。

    Jquery.json.js

    **jQuery.extend()与JSON** `jQuery.extend()`方法用于合并两个或更多的对象,创建一个新的对象。在处理JSON数据时,可以用来合并多个JSON对象。例如: ```javascript var obj1 = { name: "John" }; var obj2 = { ...

    jquery-1.11.1.js+jqury.json.2.4.js.rar

    结合标签"jquery"和"jqueryJSON",我们可以推断这个压缩包可能是为了一个涉及jQuery和JSON处理的项目或者教程准备的。开发者可能需要这两个文件来实现动态网页的交互功能,如获取和发送JSON格式的数据,以及在页面上...

    jquery-3.3.1.js/min.js

    jQuery 3.3.1还包含了一些实用工具方法,如`.each()`用于遍历集合,`.extend()`用于对象合并,`.trim()`用于字符串去空格,以及`.data()`用于在元素上存储和检索数据。 总结 jQuery 3.3.1作为一款成熟的JavaScript...

    jquery-3.4.1.rar

    1. **DOM操作**:jQuery提供了$.fn.extend()方法用于扩展jQuery对象,使得我们可以自定义插件。如`$('selector').html()`用于设置或获取元素的HTML内容,`$('selector').append()`则用于在元素末尾添加内容。 2. **...

    jquery-2.0.3-vsdoc.js

    - 数据操作:$.extend()用于对象的合并,$.parseJSON()解析JSON字符串为JavaScript对象。 总的来说,jQuery 2.0.3是现代Web开发中的重要工具,结合vsdoc.js能提供完善的开发体验。无论你是初学者还是经验丰富的...

    jquery-3.4.1.min.zip

    `$.fn.extend()`则是扩展jQuery对象的方法,是创建自定义插件的基础。 9. **版本兼容性**:jQuery 3.x版本放弃了对旧版IE浏览器的支持,提高了性能并遵循了最新的JavaScript标准,更适合现代浏览器环境。 在实际...

    jquery.json-2.3.js

    此外,jQuery还提供了$.extend()方法,用于合并两个或更多对象的属性。在处理JSON数据时,这个方法可以方便地将新接收到的数据与现有数据合并,避免覆盖原有数据,或者根据需求进行选择性更新。 在安全方面,jQuery...

    jquery-1.8.3chm中文手册下载

    10. **工具**:jQuery工具集包括实用函数,如`$.each()`, `$.extend()`, `$.trim()`, 和 `$.inArray()`,这些函数可增强代码的可读性和效率。 通过这份手册,开发者可以深入了解jQuery的各种功能和用法,从而高效地...

    jquery-3.3.1js与咖啡店各年订单.json

    此外,jQuery还提供了许多实用的工具方法,如$.parseJSON()用于手动解析JSON字符串,$.extend()用于合并两个或多个对象,以及$.ajax()作为更通用的异步请求方法,允许自定义更多请求选项。 总结来说,jQuery 3.3.1...

    jquery-1.8.3.min.js

    例如,$(selector)用于选取DOM元素,$.ajax()用于异步数据请求,$.each()用于遍历数组或对象,$.fn.extend()用于扩展jQuery对象的方法等。 三、jQuery 1.8.3.min.js的应用场景 1. **DOM操作**:jQuery简化了DOM...

    jquery-1.7.1 及 jquery1.4.1中文手册(最新)

    `$.fn.extend()`可以扩展jQuery对象,实现自定义动画。 **Ajax** 功能让jQuery能轻松实现异步数据交互。`.ajax()`是核心方法,支持GET和POST请求,还有`.load()`、`.getJSON()`等简化的API。`.ajaxStart()`和`....

    前端项目-jquery-smoove.zip

    1. **jQuery 插件开发**:jQuery插件是扩展jQuery功能的一种方式,通常包含一个函数,可以通过$.fn.extend()方法将其添加到jQuery原型链上,使得所有jQuery对象都能访问。 2. **CSS3 转换(Transform)**:允许元素...

    jQuery-1.6.2.js+jQuery-1.4.2.js +笔记

    此外,还可以通过分析`each()`方法理解jQuery如何遍历元素集合,以及`extend()`方法如何实现对象的合并和深拷贝。 在实践过程中,编写小例子是提升技能的有效途径。比如,可以尝试实现一个简单的页面滚动动画,利用...

    jquery-1.8.0+帮助文档

    4. **Ajax**:`.ajax()`, `.getJSON()`, `.load()`等方法简化了异步数据请求,`.serialize()`用于序列化表单数据。 5. **实用工具**:`.each()`, `.extend()`, `.map()`, `.grep()`等函数提供了强大的数据处理和扩展...

    jquery--api

    在本文中,我们将深入探讨jQuery API,特别是针对`jquery--api`所提及的1.2.6版本。 一、jQuery基础 1. **选择器**:jQuery 的核心在于其强大的选择器功能,它可以方便地选取HTML元素。例如,`$("#id")`选取ID为id...

    jQuery-apii

    - **扩展jQuery对象(Extending jQuery Object)**: 可以通过`.extend()`方法为jQuery增加新的方法或属性,实现自定义功能。 - **插件结构(Plugin Structure)**: 通常包括封装的函数、可选参数、以及内部逻辑。 ...

    Jquery-easyui CHM文档及源码

    1. **组件实现**:源码揭示了组件如何通过jQuery扩展实现,如通过$.fn.extend()定义插件方法,以及如何通过数据属性(data-*)和类名(class)来识别和控制元素。 2. **DOM操作**:源码中大量使用jQuery的DOM操作,...

    jquery-1.7.1

    例如,使用$.extend()方法可以创建自定义的插件,进一步提升项目的可维护性和复用性。 总之,“jquery-1.7.1”是一个强大的JavaScript工具库,它简化了前端开发中的许多繁琐任务,提升了代码的可读性和执行效率。...

    jquery -demo 大家学习

    你可以通过`$.fn.extend()`方法创建自己的插件,或者直接使用社区已有的成熟插件,如Bootstrap、jQuery UI等。 **学习建议** 对于初学者,建议从理解基础选择器和DOM操作开始,然后逐步接触事件处理和动画。随着对...

Global site tag (gtag.js) - Google Analytics