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 相关文章推荐
$.ajax json数据传递方法
Nov 19 Javascript
浅谈javascript 面向对象编程
Oct 28 Javascript
读jQuery之二(两种扩展)
Jun 11 Javascript
JavaScript Array Flatten 与递归使用介绍
Oct 30 Javascript
jquery默认校验规则整理
Mar 24 Javascript
JS实现部分HTML固定页面顶部随屏滚动效果
Dec 24 Javascript
React利用插件和不用插件实现双向绑定的方法详解
Jul 03 Javascript
SeaJS中use函数用法实例分析
Oct 10 Javascript
javaScript产生随机数的用法小结
Apr 21 Javascript
Node.js+ELK日志规范的实现
May 23 Javascript
原生JS实现萤火虫效果
Mar 07 Javascript
vue.js click点击事件获取当前元素对象的操作
Aug 07 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
php简单对象与数组的转换函数代码(php多层数组和对象的转换)
2011/05/18 PHP
基于php在各种web服务器的运行模式详解
2013/06/03 PHP
php中Y2K38的漏洞解决方法实例分析
2014/09/22 PHP
3款值得推荐的微信开发开源框架
2014/10/28 PHP
PHP开发的微信现金红包功能示例
2017/06/29 PHP
PHP实现的AES加密、解密封装类与用法示例
2018/08/02 PHP
PHP获取HTTP body内容的方法
2018/12/31 PHP
如何在PHP中使用AES加密算法加密数据
2020/06/24 PHP
网站上面有这种切换效果
2006/06/26 Javascript
ASP小贴士/ASP Tips javascript tips可以当桌面
2009/12/10 Javascript
jQuery实现切换页面布局使用介绍
2011/10/09 Javascript
Ext JS 4实现带week(星期)的日期选择控件(实战二)
2013/08/21 Javascript
js和html5实现手机端刮刮卡抽奖效果完美兼容android/IOS
2013/11/18 Javascript
js实现禁止中文输入的方法
2015/01/14 Javascript
使用JavaScript实现旋转的彩圈特效
2015/06/23 Javascript
jQuery实现字体颜色渐变效果的方法
2017/03/29 jQuery
JS简单判断字符在另一个字符串中出现次数的2种常用方法
2017/04/20 Javascript
vue路由跳转时判断用户是否登录功能的实现
2017/10/26 Javascript
vue登录注册实例详解
2019/09/14 Javascript
js实现时分秒倒计时
2019/12/03 Javascript
python 中的列表解析和生成表达式
2011/03/10 Python
opencv python 基于KNN的手写体识别的实例
2018/08/03 Python
Python和Go语言的区别总结
2019/02/20 Python
python GUI库图形界面开发之PyQt5状态栏控件QStatusBar详细使用方法实例
2020/02/28 Python
Django自定义YamlField实现过程解析
2020/11/11 Python
Python实现粒子群算法的示例
2021/02/14 Python
css3 transform过渡抖动问题解决
2020/10/23 HTML / CSS
耐克美国官网:Nike.com
2016/08/01 全球购物
英国、欧洲和全球租车服务:Avis英国
2016/08/29 全球购物
Manuka Doctor美国官网:麦卢卡蜂蜜和蜂毒护肤
2016/12/25 全球购物
ColourPop美国官网:卡拉泡泡,洛杉矶彩妆品牌
2019/04/28 全球购物
下面代码从性能上考虑,有什么问题
2015/04/03 面试题
英语教师自荐信
2014/05/26 职场文书
商务邀请函
2015/01/30 职场文书
2015年小学生自我评价范文
2015/03/03 职场文书
军事博物馆观后感
2015/06/05 职场文书