2014-10-17 120 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