访问json的子对象

时间:2015-12-06 20:31:34

标签: json

我有这个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]);
            }
        }
        );

3 个答案:

答案 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是一个工作样本。