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 08 Javascript
js动态创建标签示例代码
Jun 09 Javascript
JS实现光滑展开合拢的菜单效果代码
Sep 16 Javascript
JavaScript数组的栈方法与队列方法详解
May 26 Javascript
实用又漂亮的BootstrapValidator表单验证插件
May 30 Javascript
10分钟掌握XML、JSON及其解析
Dec 06 Javascript
微信小程序 网络请求(GET请求)详解
Nov 16 Javascript
详解jQuery中的事件
Dec 14 Javascript
Vuex之理解state的用法实例
Apr 19 Javascript
ES6下React组件的写法示例代码
May 04 Javascript
js上传图片预览的实现方法
May 09 Javascript
前端Electron新手入门教程详解
Jun 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
php array_search() 函数使用
2010/04/13 PHP
浅析php变量作用域的一些问题
2013/08/08 PHP
PHP实现数组递归转义的方法
2014/08/28 PHP
PHP Smarty模版简单使用方法
2016/03/30 PHP
php实现微信扫码自动登陆与注册功能
2016/09/22 PHP
阿里对象存储OSS在laravel框架中的使用方法
2019/10/13 PHP
javascript学习笔记(二十) 获得和设置元素的特性(属性)
2012/06/20 Javascript
js获取html文件的思路及示例
2013/09/17 Javascript
jQuery插件实现图片轮播特效
2016/06/16 Javascript
浅谈js的url解析函数封装
2016/06/28 Javascript
关于动态生成dom绑定事件失效的原因及解决方法
2016/08/06 Javascript
Webpack+Vue如何导入Jquery和Jquery的第三方插件
2017/02/20 Javascript
js实现带三角符的手风琴效果
2017/03/01 Javascript
bootstrap confirmation按钮提示组件使用详解
2017/08/22 Javascript
详解vue挂载到dom上会发生什么
2019/01/20 Javascript
js中forEach,for in,for of循环的用法示例小结
2020/03/14 Javascript
[01:21]DOTA2新纪元-7.0新版本即将开启!
2016/12/11 DOTA
Python中list初始化方法示例
2016/09/18 Python
Django在win10下的安装并创建工程
2017/11/20 Python
Python小工具之消耗系统指定大小内存的方法
2018/12/03 Python
python 用下标截取字符串的实例
2018/12/25 Python
Python实现图片识别加翻译功能
2019/12/26 Python
pytorch下使用LSTM神经网络写诗实例
2020/01/14 Python
python代码如何实现余弦相似性计算
2020/02/09 Python
用Python做一个久坐提醒小助手的示例代码
2020/02/10 Python
python+selenium+PhantomJS抓取网页动态加载内容
2020/02/25 Python
python等差数列求和公式前 100 项的和实例
2020/02/25 Python
Python3 webservice接口测试代码详解
2020/06/23 Python
matplotlib交互式数据光标实现(mplcursors)
2021/01/13 Python
Free People中国官网:波西米亚风格女装服饰
2016/08/30 全球购物
人力资源主管职责范本
2014/03/05 职场文书
工厂搬迁方案
2014/05/11 职场文书
维修工先进事迹
2014/05/29 职场文书
党政领导班子民主生活会整改措施
2014/09/18 职场文书
公司出纳岗位职责
2015/03/31 职场文书
python爬虫之爬取笔趣阁小说
2021/04/22 Python