js解析json数组

php返回类似这样的数据:
{"list":
[
{"password":"1230","username":"coolcooldool"},
{"password":"thisis2","username":"okokok"}
]
}
js进行前台解析,并在一定位置显示

var userData = '{"list":[
      {"password":"1230","username":"coolcooldool"},
      {"password":"thisis2","username":"okokok"}
      ]
}';
userInfo = eval( '(' + userData + ')' );

这里的php传回的数据为字符串格式,存储入userData中(注意是字符串)

而后使用eval进行数据解析,得到userInfo对象

然后就可以用userInfo["list"][0]["username"],得到coolcoolcool

追问

亲,我试了但是不行呢,我输入的数据list前面没有(单引号呢),如果是你说的这种格式,我要怎么把数据换成你输入的那种格式呢

追答

var userData这里保存的是php返回的数据,前后台json传递数据应该是字符串格式的,单引号只是为了举例才这样写的
所以就只是把php传递的数据在前台用eval方法来转化为js的变量就ok

温馨提示:答案为网友推荐,仅供参考
相似回答