jQuery处理json数据返回数组和输出的方法
来源: 阅读:3018 次 日期:2015-03-13 11:41:32
温馨提示: 小编为您整理了“jQuery处理json数据返回数组和输出的方法”,方便广大网友查阅!

这篇文章主要介绍了jQuery处理json数据返回数组和输出的方法,涉及jQuery操作数组及json的技巧,需要的朋友可以参考下

本文实例讲述了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程序设计有所帮助。

更多信息请查看IT技术专栏

更多信息请查看脚本栏目
由于各方面情况的不断调整与变化, 提供的所有考试信息和咨询回复仅供参考,敬请考生以权威部门公布的正式信息和咨询为准!

2025国考·省考课程试听报名

  • 报班类型
  • 姓名
  • 手机号
  • 验证码
关于我们 | 联系我们 | 人才招聘 | 网站声明 | 网站帮助 | 非正式的简要咨询 | 简要咨询须知 | 加入群交流 | 手机站点 | 投诉建议
工业和信息化部备案号:滇ICP备2023014141号-1 云南省教育厅备案号:云教ICP备0901021 滇公网安备53010202001879号 人力资源服务许可证:(云)人服证字(2023)第0102001523号
云南网警备案专用图标
联系电话:0871-65317125(9:00—18:00) 获取招聘考试信息及咨询关注公众号:
咨询QQ:526150442(9:00—18:00)版权所有:
云南网警报警专用图标
Baidu
map