我有这个json对象:
var jst = {"cust":[{"email":"harsht283raj@jumia.com", "url":"www.uzti.com"},{"email":"harshit.raj@jumia.com", "url":"www.url.com"}]}
每当我做jst.cust [0] .email。 Javascript显示未定义
更详细的代码:
$.ajax(
{
type:'GET',
url:'/ajax_res.php',
data:"q="+id,
success: function(data){
console.log(data);
var jst = JSON.parse(data);
console.log(jst);
console.log(jst.cust[0].email);
/*$.each(json.cust, function(index, element) {
console.log(element.email);
});*/
//alert(json[0]);
}
}
);
答案 0 :(得分:1)
Following string/json
needs to be enclosed by quotes
Change this to
var jst = {"cust":[{"email":"harsht283raj@jumia.com", "url":"www.uzti.com"},{"email":"harshit.raj@jumia.com", "url":"www.url.com"}]}
this
var jst = '{"cust":[{"email":"harsht283raj@jumia.com", "url":"www.uzti.com"},{"email":"harshit.raj@jumia.com", "url":"www.url.com"}]}';
Here is working example
var jst = '{"cust":[{"email":"harsht283raj@jumia.com", "url":"www.uzti.com"},{"email":"harshit.raj@jumia.com", "url":"www.url.com"}]}';
var jst = JSON.parse(jst);
alert(jst.cust[0].email);
答案 1 :(得分:0)
放一个debugger;
使用typeof
函数确定您的数据是object
还是string
。
$.ajax({
type: 'GET',
url: '/ajax_res.php',
data: "q=" + id,
success: function(data) {
debugger;
------^
var jst = JSON.parse(data);
console.log(jst.cust[0].email);
}
});
然后检查你是否正确对待你所期待的事情。
然后在console
尝试访问data
。
var test = JSON.parse('{"cust":[{"email":"harsht283raj@jumia.com", "url":"www.uzti.com"},{"email":"harshit.raj@jumia.com", "url":"www.url.com"}]}');
test.cust[0].email
o/p - "harsht283raj@jumia.com"
你做得对。只需重新检查您的代码即可。
答案 2 :(得分:0)
您不需要使用SELECT *
FROM payments p
JOIN course_student cs ON cs.id = p.course_student_id
JOIN students s ON s.id = cs.student_id
WHERE p.id in (
SELECT MAX(id)
FROM payments p2
WHERE p2.course_student_id = p.course_student_id)
e解析它。您只需访问收到的json数据的JavaScript对象属性即可。
JSON.pars
Here是一个工作样本
如果要访问cust数组中的每个项目,
success: function(data){
alert(data.cust[0].email);
}
Here是一个工作样本。