2014-10-17 108 views
1

屬性我有這樣的JSON響應:jQuery的訪問對象通過索引

{"error":true,"variable":{"v_f1_email":["error-mail","mail"]}} 

我試圖訪問「錯誤郵件」和「郵件」是這樣的:

var JSD = JSON.parse(data); 

if (JSD.error == true) { 
    $(JSD.variable).each(function(index, el) { 
     var error = el[0]; 
     var type = el[0]; 
     console.log(error + type); 
    }) 

不幸的是,變量errortype正在返回undefined。我錯在哪裏?由於

+0

你是不是應該深入一層,即先進入'v_f1_email' ...? – webeno 2014-10-17 17:17:34

+1

如果你只有一個'var errormsg = JSD.variable.v_f1_email; console.log(errormsg [0],errormsg [1])' – mplungjan 2014-10-17 17:17:53

+0

爲什麼你將'error'和'type'設置爲同一個元素? – 2014-10-17 17:18:02

回答

2

我相信你正在尋找這樣的:

注:我改名爲在每個增值經銷商,以顯示它不是一個索引數組,但鍵/值

// var JSD = JSON.parse(data); // version to use in your page 
 
var JSD = {"error":true,"variable":{"v_f1_email":["error-mail","mail"]}}; 
 
if (JSD.error) { 
 
    $.each(JSD.variable,function(fieldName,errorArr) { 
 
    $("#error").append(fieldName+": error:"+errorArr[0]+", type:"+errorArr[1]); 
 
    }); 
 
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script> 
 
<div id="error"></div>

+0

使用代碼片段+1 :-D – 2014-10-17 17:39:29