十年网站开发经验 + 多家企业客户 + 靠谱的建站团队
量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决
这篇文章主要介绍了jQuery处理json数据返回数组和输出的方法,涉及jQuery操作数组及json的技巧,需要的朋友可以参考下
创新互联专注为客户提供全方位的互联网综合服务,包含不限于成都网站设计、做网站、成都外贸网站建设公司、滦州网络推广、小程序开发、滦州网络营销、滦州企业策划、滦州品牌公关、搜索引擎seo、人物专访、企业宣传片、企业代运营等,从售前售中售后,我们都将竭诚为您服务,您的肯定,是我们最大的嘉奖;创新互联为所有大学生创业者提供滦州建站搭建服务,24小时服务热线:13518219792,官方网址:www.cdcxhl.com
本文实例讲述了jQuery处理json数据返回数组和输出的方法。分享给大家供大家参考。具体实现方法如下:
代码如下:
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
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
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;"{/divdiv
style="margin-left:25px;"';
document.write('div
style="font-weight:bold;"{/divdiv
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+='/divdiv
style="font-weight:bold;"}/div';
document.write('/divdiv
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;"{/divdiv
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
+=
'/divdiv
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程序设计有所帮助。
文本和HTML文本是两码事。。。有些东东需要转义。。。
要显示原格式可改成:
$("#show").html(“pre” + showText + "/pre");
首先,jQuary的statement最好都放在
$(document).ready(
//里面哦
);
//然后,既然是判断模块了,用switch不是更好?
switch(index)
{
case 1:
$.post('__APP__/Home/Schedule/sel/t_time/{$t_time}/sel/1',
function(data) {
filemList = eval("(" + data + ")");
setSchedule()
});
break;
case 2:
//不重复了
default:
//不重复了
}
前面是与问题无关的代码优化,两边的回调函数一样其实也可以提出来。
请追问:
你说的输出是要输出到那个部分?是到网页的一个块还是到本地储存或者服务端?
//json是对象,直接使用“.”连接符读取
$.each(data.products, function(i){
//在控制台查看
console.log([data.products[i].name, data.products[i].num, data.products[i].price]);
});
jQuery使用$.inArray(val,array)方法判断值是否存在于数组中;
解释:
确定第一个参数在数组中的位置, 从0开始计数(如果没有找到则返回 -1 ).
indexOf()返回字符串的首次出现位置,而$.inArray()返回的是传入参数在数组中的位置,同样的,如果找到的,返回的是一个大于或等于0 的值,若未找到则返回-1.现在;
参考如下:
var _exist=$.inArray('X',_mozi);
var _inexistence=$.inArray('T',_mozi)
if(_exist=0){
alert('X 存在于数组_mozi中,其在数组中索引值是: '+_exist);
}
if(_inexistence0){
alert('T 不存在于数组_mozi中!,返回值为: '+_inexistence+'!');
}