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日期对象兼容性的处理方法
Jan 28 Javascript
Javascript中的高阶函数介绍
Mar 15 Javascript
jQuery实现的超简单点赞效果实例分析
Dec 31 Javascript
JS实现iframe编辑器光标位置插入内容的方法(兼容IE和Firefox)
Jun 24 Javascript
JS控制HTML元素的显示和隐藏的两种方法
Sep 27 Javascript
JavaScript 值类型和引用类型的初次研究(推荐)
Jul 19 Javascript
javascript实现Emrips反质数枚举的示例代码
Dec 06 Javascript
JS实现简易换图时钟功能分析
Jan 04 Javascript
解决layui 三级联动下拉框更新时回显的问题
Sep 03 Javascript
JavaScript的变量声明与声明提前用法实例分析
Nov 26 Javascript
JS实现电脑虚拟键盘打字测试
Jun 24 Javascript
JavaScript实现图片放大预览效果
Nov 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
zend optimizer在wamp的基础上安装图文教程
2013/10/26 PHP
Laravel框架数据库CURD操作、连贯操作总结
2014/09/03 PHP
详解PHP中的mb_detect_encoding函数使用方法
2015/08/18 PHP
thinkPHP5.0框架开发规范简介
2017/03/25 PHP
js修改table中Td的值(定义td的双击事件)
2013/01/10 Javascript
深入理解javascript中defer的作用
2013/12/11 Javascript
js中function()使用方法
2013/12/24 Javascript
JS将所有对象s的属性复制给对象r(原生js+jquery)
2014/01/25 Javascript
用js设置下拉框为只读的小技巧
2014/04/10 Javascript
javascript修改图片src的方法
2015/01/27 Javascript
简介JavaScript中的italics()方法的使用
2015/06/08 Javascript
JS实现无限级网页折叠菜单(类似树形菜单)效果代码
2015/09/17 Javascript
nodejs实现bigpipe异步加载页面方案
2016/01/26 NodeJs
JSON字符串转换JSONObject和JSONArray的方法
2016/06/03 Javascript
浅谈js的html元素的父节点,子节点
2016/08/06 Javascript
jq stop()和:is(:animated)的用法及区别(详解)
2017/02/12 Javascript
js实现截图保存图片功能的代码示例
2017/02/16 Javascript
jQuery实现打开网页自动弹出遮罩层或点击弹出遮罩层功能示例
2017/10/19 jQuery
详解nodejs http请求相关总结
2019/03/31 NodeJs
jQuery表单选择器用法详解
2019/08/22 jQuery
vue倒计时刷新页面不会从头开始的解决方法
2020/03/03 Javascript
js实现简单的倒计时
2021/01/28 Javascript
在Python中使用itertools模块中的组合函数的教程
2015/04/13 Python
Python实现的HTTP并发测试完整示例
2020/04/23 Python
Python常用算法学习基础教程
2017/04/13 Python
Python装饰器模式定义与用法分析
2018/08/06 Python
CSS3+JavaScript实现炫酷呼吸效果的示例代码
2020/06/15 HTML / CSS
微信浏览器左上角返回按钮拦截功能
2017/11/21 HTML / CSS
Linux如何为某个操作添加别名
2015/02/05 面试题
金鑫耀Java笔试题
2014/09/06 面试题
通信工程专业女生个人求职信
2013/09/21 职场文书
四年的大学生生活自我评价
2013/12/09 职场文书
文案策划求职信
2014/03/18 职场文书
深入探讨opencv图像矫正算法实战
2021/05/21 Python
JavaWeb实现显示mysql数据库数据
2022/03/19 Java/Android
《雀魂PONG☆》4月1日播出 PV角色设定情报
2022/03/20 日漫