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 相关文章推荐
通过JAVAScript实现页面自适应
Jan 19 Javascript
jQuery 写的简单打字游戏可以提示正确和错误的次数
Jul 01 Javascript
常用的jQuery前端技巧收集
Dec 24 Javascript
js图片卷帘门导航菜单特效代码分享
Sep 10 Javascript
Jquery EasyUI Datagrid右键菜单实现方法
Dec 30 Javascript
JS查找英文文章中出现频率最高的单词
Mar 20 Javascript
基于jQuery使用Ajax动态执行模糊查询功能
Jul 05 jQuery
Vue filter格式化时间戳时间成标准日期格式的方法
Sep 16 Javascript
vue插槽slot的理解和使用方法
Apr 03 Javascript
详解一个小实例理解js原型和继承
Apr 24 Javascript
详解在React-Native中持久化redux数据
May 22 Javascript
js 压缩图片的示例(只缩小体积,不更改图片尺寸)
Oct 21 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
在线增减.htpasswd内的用户
2006/10/09 PHP
第九节--绑定
2006/11/16 PHP
缓存技术详谈―php
2006/12/14 PHP
PHP rawurlencode与urlencode函数的深入分析
2013/06/08 PHP
linux下实现定时执行php脚本
2015/02/13 PHP
Yii2 GridView实现列表页直接修改数据的方法
2016/05/16 PHP
PHP二维数组去重算法
2016/12/17 PHP
ThinkPHP实现生成和校验验证码功能
2017/04/28 PHP
contains和compareDocumentPosition 方法来确定是否HTML节点间的关系
2011/09/13 Javascript
jquery自定义函数的多种方法
2014/01/09 Javascript
基于javascript实现窗口抖动效果
2016/01/03 Javascript
javascript仿百度输入框提示自动下拉补全
2016/01/07 Javascript
vue.js实现含搜索的多种复选框(附源码)
2017/03/23 Javascript
Node.js 利用cheerio制作简单的网页爬虫示例
2018/03/01 Javascript
vue中设置height:100%无效的问题及解决方法
2018/07/27 Javascript
一份超级详细的Vue-cli3.0使用教程【推荐】
2018/11/15 Javascript
JS数组方法reverse()用法实例分析
2020/01/18 Javascript
关于Vue中$refs的探索浅析
2020/11/05 Javascript
python实现系统状态监测和故障转移实例方法
2013/11/18 Python
利用Python和OpenCV库将URL转换为OpenCV格式的方法
2015/03/27 Python
python socket多线程通讯实例分析(聊天室)
2016/04/06 Python
Python爬虫DOTA排行榜爬取实例(分享)
2017/06/13 Python
Python基于回溯法子集树模板解决选排问题示例
2017/09/07 Python
python批量替换多文件字符串问题详解
2018/04/22 Python
python 用所有标点符号分隔句子的示例
2019/07/15 Python
查看端口并杀进程python脚本代码
2019/12/17 Python
python制作一个简单的gui 数据库查询界面
2020/11/19 Python
html5实现canvas阴影效果示例
2014/05/07 HTML / CSS
美国领先的户外服装与装备用品店:Moosejaw
2016/08/25 全球购物
合作意向书格式及范文
2014/03/31 职场文书
慰问敬老院活动总结
2014/04/26 职场文书
教师个人自我剖析材料
2014/09/29 职场文书
2016年先进教师个人事迹材料
2016/02/26 职场文书
图解排序算法之希尔排序Java实现
2021/06/26 Java/Android
Linux安装apache服务器的配置过程
2021/11/27 Servers
叶县这家生产军用电台的兵工厂,人称“四机部”,走出一上将
2022/02/18 无线电