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几种形式的树结构菜单
May 10 Javascript
可以用来调试JavaScript错误的解决方案
Aug 07 Javascript
jQuery.get、jQuery.getJSON、jQuery.post无法返回JSON问题的解决方法
Jul 28 Javascript
raphael.js绘制中国地图 地图绘制方法
Feb 12 Javascript
js控制网页前进和后退的方法
Jun 08 Javascript
简介JavaScript中的setTime()方法的使用
Jun 11 Javascript
JavaScript 中有关数组对象的方法(详解)
Aug 15 Javascript
使用JSON作为函数的参数的优缺点
Oct 27 Javascript
利用node.js爬取指定排名网站的JS引用库详解
Jul 25 Javascript
jQuery 禁止表单用户名、密码自动填充功能
Oct 30 jQuery
纯js+css实现仿移动端淘宝网站的弹出详情框功能
Dec 29 Javascript
js屏蔽F12审查元素,禁止修改页面代码等实现代码
Oct 02 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 current函数获取未知字符键名数组第一个元素的值
2013/06/24 PHP
php实现网页缓存的工具类分享
2015/07/14 PHP
Javascript下判断是否为闰年的Datetime包
2010/10/26 Javascript
JS 对输入框进行限制(常用的都有)
2013/07/30 Javascript
flash调用js中的方法,让js传递变量给flash的办法及思路
2013/08/07 Javascript
js和jquery中循环的退出和继续学习记录
2014/09/06 Javascript
jquery实现的Banner广告收缩效果代码
2015/09/02 Javascript
异步JS框架的作用以及实现方法
2015/10/29 Javascript
jQuery手动点击实现图片轮播特效
2020/04/20 Javascript
javascript正则表达式定义(语法)总结
2016/01/08 Javascript
js中实现字符串和数组的相互转化详解
2016/01/24 Javascript
模仿password输入框的实现代码
2016/06/07 Javascript
JavaScript奇技淫巧44招【实用】
2016/12/11 Javascript
vue router仿天猫底部导航栏功能
2017/10/18 Javascript
jQuery 点击获取验证码按钮及倒计时功能
2018/09/20 jQuery
Vue 实现显示/隐藏层的思路(加全局点击事件)
2019/12/31 Javascript
JS实现动态无缝轮播
2020/01/11 Javascript
JavaScript动画实例之粒子文本的实现方法详解
2020/07/28 Javascript
Python信息抽取之乱码解决办法
2017/06/29 Python
Django ORM 自定义 char 类型字段解析
2019/08/09 Python
pytorch forward两个参数实例
2020/01/17 Python
你应该知道的Python3.6、3.7、3.8新特性小结
2020/05/12 Python
python与idea的集成的实现
2020/11/20 Python
CSS3 3D制作实战案例分析
2016/09/18 HTML / CSS
CSS3近阶段篇之酷炫的3D旋转透视
2016/04/28 HTML / CSS
前端实现弹幕效果的方法总结(包含css3和canvas的实现方式)
2018/07/12 HTML / CSS
一级方程式赛车官方网上商店:F1 Store(支持中文)
2018/01/12 全球购物
巴西最大的巴士票务门户:Quero Passagem
2020/11/21 全球购物
波兰多品牌运动商店:StreetStyle24.pl
2020/09/22 全球购物
庆中秋节主题活动方案
2014/02/03 职场文书
协议书模板
2014/04/23 职场文书
2014副镇长民主生活会个人对照检查材料思想汇报
2014/09/30 职场文书
2014幼儿园保育员工作总结
2014/11/10 职场文书
发布会邀请函
2015/01/31 职场文书
英语导游词
2015/02/13 职场文书
担保贷款承诺书
2015/04/30 职场文书