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文件中写el表达式取不到值的原因及解决方法
Dec 23 Javascript
iframe父页面获取子页面参数的方法
Feb 21 Javascript
jQuery的:parent选择器定义和用法
Jul 01 Javascript
详解JavaScript中的表单验证
Jun 16 Javascript
Ajax分页插件Pagination从前台jQuery到后端java总结
Jul 22 Javascript
Bootstrap 3的box-sizing样式导致UEditor控件的图片无法正常缩放的解决方案
Sep 15 Javascript
JS判断输入的字符串是否是数字的方法(正则表达式)
Nov 29 Javascript
JavaScript模拟文件拖选框样式v1.0的实例
Aug 04 Javascript
详解webpack的proxyTable无效的解决方案
Jun 15 Javascript
使用electron实现百度网盘悬浮窗口功能的示例代码
Oct 24 Javascript
使用electron制作满屏心特效的示例代码
Nov 27 Javascript
vue实现前端列表多条件筛选
Oct 26 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支持页面回退的两种方法[转]
2007/02/14 PHP
Linux下安装oracle客户端并配置php5.3
2014/10/12 PHP
php函数传值的引用传递注意事项分析
2016/06/25 PHP
javascript循环变量注册dom事件 之强大的闭包
2010/09/08 Javascript
eval与window.eval的差别分析
2011/03/17 Javascript
jquery实现智能感知连接外网搜索
2013/05/21 Javascript
JQuery加载图片自适应固定大小的DIV
2013/09/12 Javascript
同域jQuery(跨)iframe操作DOM(示例代码)
2013/12/13 Javascript
Jqgrid表格随窗口大小改变而改变的简单实例
2013/12/28 Javascript
jquery进行数组遍历如何跳出当前的each循环
2014/06/05 Javascript
javascript实现限制上传文件大小
2015/02/06 Javascript
js实现字符串转日期格式的方法
2015/05/20 Javascript
jQuery实现宽屏图片轮播实例教程
2015/11/24 Javascript
实现高性能JavaScript之执行与加载
2016/01/30 Javascript
EXT中单击button按钮grid添加一行(光标位置可设置)的实例代码
2016/06/02 Javascript
Javascript Function.prototype.bind详细分析
2016/12/29 Javascript
AngularJS Controller作用域
2017/01/09 Javascript
微信小程序图表插件(wx-charts)实例代码
2017/01/17 Javascript
JS实现身份证输入框的输入效果
2017/08/21 Javascript
vue 自定义组件 v-model双向绑定、 父子组件同步通信的多种写法
2017/11/27 Javascript
vue.draggable实现表格拖拽排序效果
2018/12/01 Javascript
简单使用webpack打包文件的实现
2019/10/29 Javascript
Vue 电商后台管理项目阶段性总结(推荐)
2020/08/22 Javascript
centos 下面安装python2.7 +pip +mysqld
2014/11/18 Python
Python中利用sqrt()方法进行平方根计算的教程
2015/05/15 Python
python3 读取Excel表格中的数据
2018/10/16 Python
jupyter 使用Pillow包显示图像时inline显示方式
2020/04/24 Python
python中前缀运算符 *和 **的用法示例详解
2020/05/28 Python
python代码中怎么换行
2020/06/17 Python
python中plt.imshow与cv2.imshow显示颜色问题
2020/07/16 Python
Ajxa常见问题都有哪些
2014/03/26 面试题
高级销售员求职信
2013/10/25 职场文书
工地安全生产标语
2014/06/06 职场文书
二年级上册数学教学计划
2015/01/20 职场文书
2016年教师节感言
2015/12/09 职场文书
python和anaconda的区别
2022/05/06 Python