0

我正在尝试从我的 JSON 对象中检测第一个索引名称,并且这些数据来自 API ..

如果成功数据将返回如下内容:

var setRecharge = [{"data":{"transaction_id":"502014","tr_time":"2013-06-18 15:34:46","tr_channel":"WEB","opening_balance_a":"1000.00","closing_balance_a":"990.00"}}];

如果失败,它将返回:

var setRecharge = [{"error":{"code":"AccountA","message":"Problem with A account: Password is not correct"}}];

所以从这里我需要知道第一个索引是data或者error我可以继续如果 else 语句..

我尝试参考这个主题Javascript:获取对象的第一个索引,但不确定为什么它不起作用,我的数据也有括号和块。

4

3 回答 3

1

error您可以检查是否存在,而不是检查元素的名称:

if(setRecharge[0].hasOwnProperty("error")) {
    //you have an error - deal with it
}
else if(setRecharge[0].hasOwnProperty("data")) {
    //you have your data - deal with it
}
else {
    //something went wrong - you got neither
}
于 2013-06-18T09:22:03.423 回答
1

我建议只检查对象是否具有error属性,然后处理它。这是一个比检查第一个属性的名称更清洁的解决方案。如果属性的顺序发生变化怎么办?

以下应该可以满足您的需求:

if(setRechargeRate[0].hasOwnProperty('error'))
{
    // Handle the error here...
}
于 2013-06-18T09:22:34.620 回答
0

直接查看楼盘

if(setRecharge[0].error!=null)//stuff for error
else //stuff for data
于 2013-06-18T09:20:48.287 回答