Javascript 无法解析json响应,它实际上不是空的,但返回未定义的

Javascript 无法解析json响应,它实际上不是空的,但返回未定义的,javascript,jquery,json,Javascript,Jquery,Json,我有这个json代码,我在发送post请求、检索数据并解析数据时使用了它(请参阅下文) 这是“response.disputeRecord”(控制台视图)的json内容 如您所见,我试图提醒json响应中实际存在的“创建日期”,但它给了我“未定义的”、任何想法和线索?您使用的是$。每个都在一个对象上,而不是数组上。index参数实际上将是对象的属性名称,value将是相应的属性值。您将得到(“否”,7),(“员工id”,“MMMFLB003”)等等。上面的示例表明,您没有得到一个disputeR

我有这个json代码,我在发送post请求、检索数据并解析数据时使用了它(请参阅下文)

这是“response.disputeRecord”(控制台视图)的json内容


如您所见,我试图提醒json响应中实际存在的“创建日期”,但它给了我“未定义的”、任何想法和线索?

您使用的是
$。每个
都在一个对象上,而不是数组上。
index
参数实际上将是对象的属性名称,
value
将是相应的属性值。您将得到
(“否”,7)
(“员工id”,“MMMFLB003”)
等等。

上面的示例表明,您没有得到一个
disputeRecord的数组,只有一个。在这种情况下,
each()。试试这个

$.ajax({
   url: '/test',
   type: 'post',
   data: { id : "1"},
   dataType: 'json',
   success: function(response){
       if(response.success){
           console.log(JSON.stringify(response.disputeRecord));
           console.log(response.disputeRecord.creation_date);
       }
   }
});
改为:

$.each(response.disputeRecord, function(index, value){
    if (index == "creation_date")
        alert(value);
});
index是属性名称,value是属性值,因此需要检查哪个属性,然后警告其值

或者从对象直接访问属性并删除$。每个:

if(response.success){
    alert(response.disputeRecord.creation_date)
}    

response.disputeRecord不是一个数组,所以$。每个都不会做你想做的事尝试我的答案它会提醒日期,如needed@JaromandaX:有没有解析它的建议?警报(response.disputeRecord.creation\u date);要做到这一点,请删除$。当您可以直接引用它时,为什么要为一个具有特定名称的属性解析所有属性?不确定当他专门查找1时解析所有属性会有什么好处。很好,现在他知道了$。每个都可以:-),这是旅程的一部分mate@CodeDemon不客气。很高兴我能帮助你:)
$.each(response.disputeRecord, function(index, value){
    if (index == "creation_date")
        alert(value);
});
if(response.success){
    alert(response.disputeRecord.creation_date)
}