我正在尝试从我的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
所以我可以继续wil if else语句..
我尝试引用这个主题Javascript: Getting the first index of an object,但不确定为什么它不起作用,我的数据也有括号和块。
答案 0 :(得分: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
}
答案 1 :(得分:1)
我建议只检查对象是否具有error
属性,然后处理它。这比检查第一个属性的名称要简洁得多。如果属性的顺序发生变化怎么办?
以下内容适用于您的需求:
if(setRechargeRate[0].hasOwnProperty('error'))
{
// Handle the error here...
}
答案 2 :(得分:0)
直接检查物业
if(setRecharge[0].error!=null)//stuff for error
else //stuff for data