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 相关文章推荐
用js计算页面执行时间的函数
Dec 07 Javascript
JS下高效拼装字符串的几种方法比较与测试代码
Apr 15 Javascript
javascript window.open打开新窗口后无法再次打开该窗口问题的解决方法
Apr 12 Javascript
深入浅出分析javaScript中this用法
May 09 Javascript
Javascript的表单验证-初识正则表达式
Mar 18 Javascript
Three.js学习之Lamber材质和Phong材质
Aug 04 Javascript
Laravel中常见的错误与解决方法小结
Aug 30 Javascript
jquery处理checkbox(复选框)是否被选中实例代码
Jun 12 jQuery
JS实现点击li标签弹出对应的索引功能【案例】
Feb 18 Javascript
vue动态子组件的两种实现方式
Sep 01 Javascript
vue3+typeScript穿梭框的实现示例
Dec 29 Vue.js
vue 实现图片懒加载功能
Dec 31 Vue.js
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
《被神捡到的男人》动画化计划进行中!
2020/03/06 日漫
php二分法在IP地址查询中的应用
2008/08/12 PHP
php中base64_decode与base64_encode加密解密函数实例
2014/11/24 PHP
PHP文件上传之多文件上传的实现思路
2016/01/27 PHP
PHPStorm 2020.1 调试 Nodejs的多种方法详解
2020/09/17 NodeJs
Javascript中的Split使用方法与技巧
2007/03/09 Javascript
document.getElementById获取控件对象为空的解决方法
2013/11/20 Javascript
jquery validate 自定义验证方法介绍 日期验证
2014/02/27 Javascript
jquery form表单序列化为对象的示例代码
2014/03/05 Javascript
运用jQuery定时器的原理实现banner图片切换
2014/10/22 Javascript
JS获取浏览器语言动态加载JS文件示例代码
2014/10/31 Javascript
jquery比较简洁的软键盘特效实现方法
2015/03/19 Javascript
基于JS如何实现类似QQ好友头像hover时显示资料卡的效果(推荐)
2016/06/09 Javascript
Listloading.js移动端上拉下拉刷新组件
2016/08/04 Javascript
bootstrap下拉列表与输入框组结合的样式调整
2016/10/08 Javascript
探索Vue.js component内容实现
2016/11/03 Javascript
Bootstrap缩略图的创建方法
2017/03/22 Javascript
Vue.js中组件中的slot实例详解
2017/07/17 Javascript
vuex与组件联合使用的方法
2018/05/10 Javascript
JS非行间样式获取函数的实例代码
2018/06/05 Javascript
Vue使用Clipboard.JS在h5页面中复制内容实例详解
2019/09/03 Javascript
node中短信api实现验证码登录的示例代码
2021/01/20 Javascript
python中的yield使用方法
2014/02/11 Python
用smtplib和email封装python发送邮件模块类分享
2014/02/17 Python
Python程序设计入门(5)类的使用简介
2014/06/16 Python
python 自动化将markdown文件转成html文件的方法
2016/09/23 Python
详解HTML5 data-* 自定义属性
2018/01/24 HTML / CSS
MVMT手表官方网站:时尚又实惠的高品质手表
2016/12/04 全球购物
世界上最大的乐器零售商:Guitar Center
2017/11/07 全球购物
工作决心书范文
2014/03/11 职场文书
二年级小学生评语
2014/04/21 职场文书
三年级学生评语
2014/04/23 职场文书
法制宣传口号
2014/06/16 职场文书
2014派出所所长群众路线对照检查材料思想汇报
2014/09/18 职场文书
教师个人教学总结
2015/02/11 职场文书
何时使用Map来代替普通的JS对象
2021/04/29 Javascript