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 相关文章推荐
Jquery 绑定时间实现代码
May 03 Javascript
Webkit的跨域安全问题说明
Sep 13 Javascript
jquery选择器排除某个DOM元素的方法(实例演示)
Apr 25 Javascript
js实现背景图片感应鼠标变化的方法
Feb 28 Javascript
检测一个函数是否是JavaScript原生函数的小技巧
Mar 13 Javascript
javascript常用正则表达式汇总
Jul 31 Javascript
javascript从作用域链谈闭包
Jul 29 Javascript
微信小程序 wxapp地图 map详解
Oct 31 Javascript
node+koa2+mysql+bootstrap搭建一个前端论坛
May 06 Javascript
关于单文件组件.vue的使用
Sep 20 Javascript
解决vue做详情页跳转的时候使用created方法 数据不会更新问题
Jul 24 Javascript
vue+elementUI中表格高亮或字体颜色改变操作
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
解析PHP正则提取或替换img标记属性
2013/06/26 PHP
体育彩票排列三组选三算法分享
2014/03/07 PHP
PHP基于phpqrcode类生成二维码的方法详解
2018/03/14 PHP
PHP ADODB实现事务处理功能示例
2018/05/25 PHP
Yii2压缩PHP中模板代码的输出问题
2018/08/28 PHP
tp5(thinkPHP5)框架数据库Db增删改查常见操作总结
2019/01/10 PHP
php探针使用原理和技巧讲解
2019/09/17 PHP
PHP如何开启Opcache功能提升程序处理效率
2020/04/27 PHP
document.designMode的功能与使用方法介绍
2007/11/22 Javascript
javascript replace方法与正则表达式
2008/02/19 Javascript
在百度知道团队中快速审批新成员的js脚本
2014/02/02 Javascript
jquery小火箭返回顶部代码分享
2015/08/19 Javascript
layer弹窗插件操作方法详解
2017/05/19 Javascript
微信小程序实现拖拽 image 触摸事件监听的实例
2017/08/17 Javascript
浅谈VUE监听窗口变化事件的问题
2018/02/24 Javascript
微信小程序利用Canvas绘制图片和竖排文字详解
2019/06/25 Javascript
javascript 使用sleep函数的常见方法详解
2020/04/26 Javascript
Javascript var变量删除原理及实现
2020/08/26 Javascript
[01:09]2014DOTA2国际邀请赛 TI4西雅图DOTA2 中国美女coser加油助威
2014/07/20 DOTA
python3中set(集合)的语法总结分享
2017/03/24 Python
flask中使用蓝图将路由分开写在不同文件实例解析
2018/01/19 Python
wxpython实现图书管理系统
2018/03/12 Python
python使用openpyxl库修改excel表格数据方法
2018/05/03 Python
python Tcp协议发送和接收信息的例子
2019/07/22 Python
Python *args和**kwargs用法实例解析
2020/03/02 Python
关于Kotlin中SAM转换的那些事
2020/09/15 Python
新西兰最大的在线设计师眼镜店:SmartBuyGlasses新西兰
2017/10/20 全球购物
中国一家专注拼团的社交购物网站:拼多多
2018/06/13 全球购物
GetYourGuide台湾:预订旅游活动、景点和旅游项目
2019/06/10 全球购物
JDBC操作数据库的基本流程是什么
2014/10/28 面试题
关于赌博的检讨书
2014/01/08 职场文书
上班看电影检讨书
2014/02/12 职场文书
民主生活会意见
2015/06/05 职场文书
素质教育培训心得体会
2016/01/19 职场文书
小学二年级语文教学反思
2016/03/03 职场文书
详解MySQL的半同步
2021/04/22 MySQL