2014-10-17 3 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); 
    }) 

К сожалению, vars error и type возвращаются undefined. Где я ошибаюсь? Благодаря

+0

разве вы не должны идти на один уровень глубже, т.е. сначала доберитесь до 'v_f1_email' ...? – webeno

+1

Если у вас есть только один, то 'var errormsg = JSD.variable.v_f1_email; console.log (errormsg [0], errormsg [1]) ' – mplungjan

+0

Почему вы устанавливаете' error' и 'type' одному элементу? –

ответ

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 –

Смежные вопросы