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 相关文章推荐
免费空间广告万能消除代码
Sep 04 Javascript
JavaScript中的几个关键概念的理解-原型链的构建
May 12 Javascript
ASP.NET jQuery 实例4(复制TextBox的文本到本地剪贴板上)
Jan 13 Javascript
JavaScript和CSS通过expression实现Table居中显示
Jun 28 Javascript
php 中序列化和json使用介绍
Jul 08 Javascript
javascript中的document.open()方法使用介绍
Oct 09 Javascript
javascript实现的元素拖动函数宿主为浏览器
Jul 21 Javascript
基于JavaScript代码实现兼容各浏览器的设为首页和加入收藏
Jan 07 Javascript
javascript鼠标右键菜单自定义效果
Dec 08 Javascript
原生JS查找元素的方法(推荐)
Nov 22 Javascript
JScript实现地址选择功能
Aug 15 Javascript
详解vue 命名视图
Aug 14 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根据两点间的经纬度计算距离
2014/10/31 PHP
PHP实现通过CURL上传文件功能示例
2018/05/30 PHP
用js 让图片在 div或dl里 居中,底部对齐
2008/01/21 Javascript
jquery时间下拉框小例子
2013/04/15 Javascript
jQuery 取值、赋值的基本方法整理
2014/03/31 Javascript
JSON字符串和对象之间的转换详解
2015/05/26 Javascript
简单谈谈javascript中的变量、作用域和内存问题
2015/08/30 Javascript
jquery实现表格中点击相应行变色功能效果【实例代码】
2016/05/09 Javascript
AngularJS中directive指令使用之事件绑定与指令交互用法示例
2016/11/22 Javascript
Web开发中客户端的跳转与服务器端的跳转的区别
2017/03/05 Javascript
Node.js  事件循环详解及实例
2017/08/06 Javascript
基于webpack 实用配置方法总结
2017/09/28 Javascript
jQuery简单判断值是否存在于数组中的方法示例
2018/04/17 jQuery
微信小程序实现张图片合成为一张并下载
2019/07/16 Javascript
js实现多个标题吸顶效果
2020/01/08 Javascript
基于vue实现简易打地鼠游戏
2020/08/21 Javascript
python实现百度关键词排名查询
2014/03/30 Python
Python中格式化format()方法详解
2017/04/01 Python
在CentOS6上安装Python2.7的解决方法
2018/01/09 Python
对python .txt文件读取及数据处理方法总结
2018/04/23 Python
python 去除txt文本中的空格、数字、特定字母等方法
2018/07/24 Python
Tensorflow 合并通道及加载子模型的方法
2018/07/26 Python
Python Matplotlib库安装与基本作图示例
2019/01/09 Python
Django 中间键和上下文处理器的使用
2019/03/17 Python
python3.x实现base64加密和解密
2019/03/28 Python
python实现共轭梯度法
2019/07/03 Python
pygame实现俄罗斯方块游戏(AI篇1)
2019/10/29 Python
Pandas 解决dataframe的一列进行向下顺移问题
2019/12/27 Python
Pop In A Box英国:Funko POP搪胶公仔
2019/05/27 全球购物
欧洲最大的预定车位市场:JustPark
2020/01/06 全球购物
总经理助理职责
2014/02/04 职场文书
2014年幼儿园园长工作总结
2014/12/17 职场文书
宾馆卫生管理制度
2015/08/06 职场文书
《曹冲称象》教学反思
2016/02/20 职场文书
导游词之崇武古城
2019/10/07 职场文书
小程序实现筛子抽奖
2021/05/26 Javascript