jQuery处理json数据返回数组和输出的方法


Posted in Javascript onMarch 11, 2015

本文实例讲述了jQuery处理json数据返回数组和输出的方法。分享给大家供大家参考。具体实现方法如下:

/*print the json object

 *

 *$("selector").print_r_json(json,opts) : return formatted string (and print)

 *sprint_r_json : just return the string;

 *print_r_json : return the formatted string and print json data

 *contribute 明河

 *

 *auth iorichina

 *

 *example: 

 *3 ways to use it

 *<script language="javascript">

 *$("selector").print_r_json({"a":"aa","d":{"ef":{"a":"d","d":["a","b"]},"ed":"dd"},"g":"g"},{if_print:true,return_array:true});

 *document.write($.sprint_r_json({"a":"aa","d":{"ef":{"a":"d","d":["a","b"]},"ed":"dd"},"g":"g"}));

 *$.print_r_json({"a":"aa","d":{"ef":{"a":"d","d":["a","b"]},"ed":"dd"},"g":"g"});

 *</script>

 *

*/

$.fn.print_r_json = function(json,options){

    if(typeof(json)!="object") return false;

    var opts = $.extend({},$.fn.print_r_json.defaults,options);

    var data = '';

    if(opts.if_print)

    {

        data = $.sprint_r_json(json)

        $(this).html('<div style="font-weight:bold">'+(opts.return_array?'Array':'JSON-DATA')+'</div>'+data);

    }

    if(opts.array)

    {

        return $.json_to_array(json);

    }

    return data;

};

$.fn.print_r_json.defaults = 

{

    if_print : false,//if print or just return formatted string

    return_array : true //return an Array 

};

$.extend({

    print_r_json : function(json)

    {

        if(typeof(json)=="object")

        {

            var text='<div style="font-weight:bold;">{</div><div style="margin-left:25px;">';

          document.write('<div style="font-weight:bold;">{</div><div style="margin-left:25px;">');

          for(var p in json)

          {

            if(typeof(json[p])=="object")

            {

              document.write('<div>["'+p+'"] => ');

                text+='<div>["'+p+'"] => '+$.print_r_json(json[p])+'</div>';

              document.write('</div>');

            }

            else

            {

                text+='<div>['+((/^\d+$/).test(p)?p:('"'+p+'"'))+'] => "'+json[p]+'"</div>';

              document.write('<div>['+p+'] => '+json[p]+'</div>');

            }

          }  

          text+='</div><div style="font-weight:bold;">}</div>';

          document.write('</div><div style="font-weight:bold;">}</div>');

          return (text);

        }

        else

        {

            document.write(json);

            return (json);

        }

    },

    sprint_r_json : function(json)

    {

        if(typeof(json)=="object")

        {

          var text = '<div style="font-weight:bold;">{</div><div style="margin-left:25px;">';

          for(var p in json)

          {

            if(typeof(json[p])=="object")

            {

              text += '<div>["'+p+'"] => '+$.sprint_r_json(json[p])+'</div>';

            }

            else

            {

              text += '<div>['+((/^\d+$/).test(p)?p:('"'+p+'"'))+'] => "'+json[p]+'"</div>';

            }

          }  

          text += '</div><div style="font-weight:bold;">}</div>';

          return (text);

        }

        else

        {

            return (json);

        }

    },

    json_to_array : function(json)

    {

        if(typeof(json)=="object")

        {

          var text = new Array();

          for(var p in json)

          {

            if(typeof(json[p])=="object")

            {

              text[p] = $.json_to_array(json[p]);

            }

            else

            {

              text[p] = json[p];

            }

          }

          return (text);

        }

        else

        {

            return (json);

        }

    }

});

希望本文所述对大家的jQuery程序设计有所帮助。

Javascript 相关文章推荐
网页上的Javascript编辑器和代码格式化
Apr 25 Javascript
JavaScript中this的使用详解
Nov 08 Javascript
动态创建script标签实现跨域资源访问的方法介绍
Feb 28 Javascript
Javascript变量的作用域和作用域链详解
Apr 02 Javascript
jquery中键盘事件小结
Feb 24 Javascript
jquery获取下拉框中的循环值
Feb 08 Javascript
JavaScript实现弹窗效果代码分析
Mar 09 Javascript
js从输入框读取内容,比较两个数字的大小方法
Mar 13 Javascript
JS document内容及样式操作完整示例
Jan 14 Javascript
JavaScript实现简单的弹窗效果
May 19 Javascript
使用Vue-cli 中为单独页面设置背景图片铺满全屏
Jul 17 Javascript
简单聊聊TypeScript只读修饰符
Apr 06 Javascript
jquery实现表格本地排序的方法
Mar 11 #Javascript
jQuery实现渐变下拉菜单的简单方法
Mar 11 #Javascript
jQuery实现新消息闪烁标题提示的方法
Mar 11 #Javascript
javascript实现详细时间提醒信息效果的方法
Mar 11 #Javascript
JavaScript实现SHA-1加密算法的方法
Mar 11 #Javascript
JavaScript前补零操作实例
Mar 11 #Javascript
JavaScript限定图片显示大小的方法
Mar 11 #Javascript
You might like
MySQL时间字段究竟使用INT还是DateTime的说明
2012/02/27 PHP
PHP中提问频率最高的11个面试题和答案
2014/09/02 PHP
thinkPHP实现瀑布流的方法
2014/11/29 PHP
php通过curl模拟登陆DZ论坛
2015/05/11 PHP
CakePHP框架Model关联对象用法分析
2017/08/04 PHP
php微信开发之关注事件
2018/06/14 PHP
js TextArea的选中区域处理
2010/12/28 Javascript
window.parent与window.openner区别介绍
2012/04/12 Javascript
javascript实现tabs选项卡切换效果(扩展版)
2013/03/19 Javascript
jquery弹出框的用法示例(2)
2013/08/26 Javascript
JavaScript通过元素索引号删除数组中对应元素的方法
2015/03/18 Javascript
jquery实现全屏滚动
2015/12/28 Javascript
JavaScript:Date类型全面解析
2016/05/19 Javascript
浅谈JavaScript for循环 闭包
2016/06/22 Javascript
微信小程序 生命周期函数详解
2017/05/24 Javascript
详解VUE 对element-ui中的ElTableColumn扩展
2018/03/28 Javascript
JavaScript中变量提升与函数提升经典实例分析
2018/07/26 Javascript
详解JS浏览器事件循环机制
2019/03/27 Javascript
tsconfig.json配置详解
2019/05/17 Javascript
vue集成kindeditor富文本的实现示例代码
2019/06/07 Javascript
用Python代码来解图片迷宫的方法整理
2015/04/02 Python
详解Python 模拟实现生产者消费者模式的实例
2017/08/10 Python
python图像常规操作
2017/11/11 Python
python2和python3的输入和输出区别介绍
2018/11/20 Python
python绘制直方图和密度图的实例
2019/07/08 Python
python networkx 根据图的权重画图实现
2019/07/10 Python
python图形开发GUI库pyqt5的详细使用方法及各控件的属性与方法
2020/02/14 Python
Python装饰器实现方法及应用场景详解
2020/03/26 Python
python zip()函数的使用示例
2020/09/23 Python
如何用 Python 处理不平衡数据集
2021/01/04 Python
详解Pymongo常用查询方法总结
2021/01/29 Python
萌新的HTML5 入门指南
2020/11/06 HTML / CSS
Feelunique澳大利亚:欧洲的化妆品零售电商
2019/12/18 全球购物
专科毕业生学习生活的自我评价
2013/10/26 职场文书
管理者们如何制定2019年的工作计划?
2019/07/01 职场文书
mysql部分操作
2021/04/05 MySQL