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 获取和设置Select选项的代码
Feb 07 Javascript
JavaScript如何动态创建table表格
Aug 02 Javascript
Javascript的表单验证-提交表单
Mar 18 Javascript
js滚动条平滑移动示例代码
Mar 29 Javascript
浅谈JS使用[ ]来访问对象属性
Sep 21 Javascript
详解微信小程序 wx.uploadFile 的编码坑
Jan 23 Javascript
详解基于Vue cli生成的Vue项目的webpack4升级
Jun 19 Javascript
教你使用vue-cli快速构建的小说阅读器
May 13 Javascript
vue.js 2.0实现简单分页效果
Jul 29 Javascript
在pycharm中开发vue的方法步骤
Mar 04 Javascript
Vue项目前后端联调(使用proxyTable实现跨域方式)
Jul 18 Javascript
简单了解JavaScript作用域
Jul 31 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
Windows下PHP5和Apache的安装与配置
2006/09/05 PHP
PHPMailer安装方法及简单实例
2008/11/25 PHP
php生成不重复随机数、数组的4种方法分享
2015/03/30 PHP
解决laravel5中auth用户登录其他页面获取不到登录信息的问题
2019/10/08 PHP
常见效果实现之返回顶部(结合淡入、淡出、减速滚动)
2012/01/04 Javascript
给文字加上着重号的JS代码
2013/11/12 Javascript
jquery mobile页面跳转后样式丢失js失效的解决方法
2014/09/06 Javascript
javascript操作select元素实例分析
2015/03/27 Javascript
jquery原理以及学习技巧介绍
2015/11/11 Javascript
探索angularjs+requirejs全面实现按需加载的套路
2016/02/26 Javascript
bootstrap和jQuery.Gantt的css冲突 如何解决
2016/05/29 Javascript
深入理解jQuery3.0的domManip函数
2016/09/01 Javascript
浅谈js-FCC算法Friendly Date Ranges(详解)
2017/04/10 Javascript
node.js连接mysql与基本用法示例
2019/01/05 Javascript
layui的表单验证支持ajax判断用户名是否重复的实例
2019/09/06 Javascript
js实现数据导出为EXCEL(支持大量数据导出)
2020/03/31 Javascript
原生JavaScript实现贪吃蛇游戏
2020/11/04 Javascript
Python下的Mysql模块MySQLdb安装详解
2014/04/09 Python
详细探究Python中的字典容器
2015/04/14 Python
不知道这5种下划线的含义,你就不算真的会Python!
2018/10/09 Python
基于python中__add__函数的用法
2019/11/25 Python
Pytorch实现LSTM和GRU示例
2020/01/14 Python
Django 实现将图片转为Base64,然后使用json传输
2020/03/27 Python
Python使用多进程运行含有任意个参数的函数
2020/05/02 Python
Django 解决上传文件时,request.FILES为空的问题
2020/05/20 Python
深入了解python列表(LIST)
2020/06/08 Python
如何利用python之wxpy模块玩转微信
2020/08/17 Python
python实现猜拳游戏项目
2020/11/30 Python
谈谈对css属性box-sizing的了解
2017/01/04 HTML / CSS
使用html5 canvas 画时钟代码实例分享
2015/11/11 HTML / CSS
戴森美国官网:Dyson美国
2016/09/11 全球购物
护士自荐信
2013/10/25 职场文书
规划编制实施方案
2014/03/15 职场文书
优秀学生干部先进事迹材料
2014/05/26 职场文书
口才训练演讲稿范文
2014/09/16 职场文书
幼儿园食品安全责任书
2015/05/08 职场文书