json简单显示问题

我定义了一个json,显示的时候怎么出现undefined呀,我看了其他网友也是这样些的啊,为什么我的不行呢?
[code="java"]
var data={"loginTomes":1,"memberPassword":"test","memberUsertype":"vip","memberId":1,"memberName":"test"};
for(var j=0;j var p=data[j];
alert(p);//出现undefined
var _class=j%2==0?"even":"odd";
_html+=''+p.memberName+''
}

[/code]

data 是json对象,而你这里需要的应该是数组,data数组(多加了一个对象)如下:
var data ==[{"loginTomes":1,"memberPassword":"test","memberUsertype":"vip","memberId":1,"memberName":"test"},{==[{"loginTomes":2,"memberPassword":"pwd","memberUsertype":"normal","memberId":2,"memberName":"yourName"}];

这样alert(p);就不会出现undefined 了

data不是数组,不用for循环,直接data.xxx

从的代码来看,data应该是一个数组才对,但是你给它传了一个JSON对象。正确的写法应该是:

[code="js"]var data=[{"loginTomes":1,"memberPassword":"test","memberUsertype":"vip","memberId":1,"memberName":"test"}];[/code]

估计你对json的理解有点误区
var data=[{"loginTomes":1,"memberPassword":"test","memberUsertype":"vip","memberId":1,"memberName":"test"}];
这个是数组

var data={"loginTomes":1,"memberPassword":"test","memberUsertype":"vip","memberId":1,"memberName":"test"};
这个相当于json对象,你可以通过eval将它转成一个数组

所以对于你生命的data,必须执行eval才能使用下面的循环

data 不是数组,可以写为
[code="java"]
for (var i in data){
alert(data[i]);
}
[/code]