don';我不明白如何使用jQuery$。each来迭代这个JSON

don';我不明白如何使用jQuery$。each来迭代这个JSON,jquery,json,each,Jquery,Json,Each,我从服务器上获取JSON,并希望设置网页上输入框的值。JSON对是输入的id和值。测试JSON看起来像 [{"city":"Rochester, Monroe County","country":"US","streetAddress":"12 Gibbs Street"}] 如果一个对象中有更多的键值对,那么真正的JSON将更长 当我使用这个硬编码语句时,它设置输入值 $('#city').val( responseParsed[0].city ); //this sets the cit

我从服务器上获取JSON,并希望设置网页上输入框的值。JSON对是输入的id和值。测试JSON看起来像

[{"city":"Rochester, Monroe County","country":"US","streetAddress":"12 Gibbs Street"}]
如果一个对象中有更多的键值对,那么真正的JSON将更长

当我使用这个硬编码语句时,它设置输入值

$('#city').val( responseParsed[0].city );  //this sets the city input to a value
我已尝试使用$each扩展/自动化该功能。我正在努力学习如何使用它。我就是搞不懂它的窍门。经过多次尝试,我现在感觉很紧张。下面是ajax中成功选项的代码

success: function ( response ) {    
    if ( response ) {
        responseParsed = JSON.parse( response );
        $.each( responseParsed, function( key, value ){
            $('#key').val( responseParsed[0].key );
            console.log( $('#key').val( responseParsed[0].key ) + '|eachItem' ); // [object Object]|eachItem only once & input values do not change
        });
    }

您不需要在
$中使用
responseParsed
。每个
。这就是
参数的含义

您的
(或
)是数组的当前元素

$.each(responseParsed, function(key, value){
    $('#city').val(value.city);
});
要从对象获取每个键,需要另一个
$。每个

$.each(responseParsed, function(index, data){
    $.each(data, function(key, value){
        $('#'+key).val(value);
        console.log(key, value);
    });
});

您不需要在
$中使用
responseParsed
。每个
。这就是
参数的含义

您的
(或
)是数组的当前元素

$.each(responseParsed, function(key, value){
    $('#city').val(value.city);
});
要从对象获取每个键,需要另一个
$。每个

$.each(responseParsed, function(index, data){
    $.each(data, function(key, value){
        $('#'+key).val(value);
        console.log(key, value);
    });
});
我想你想要这个:

success: function ( response ) {    
    if ( response ) {
        responseParsed = JSON.parse( response );
        $.each( responseParsed[0], function( key, value ){
            $('#' + key).val(value);
        });
    }
我想你想要这个:

success: function ( response ) {    
    if ( response ) {
        responseParsed = JSON.parse( response );
        $.each( responseParsed[0], function( key, value ){
            $('#' + key).val(value);
        });
    }

对不起,它不工作,它破坏了整个嵌套的函数。对不起,我只做了一个循环,这是错误的。火箭的代码是正确的。对不起,它不工作,它破坏了整个嵌套的函数。对不起,我只做了一个循环,这是错误的。火箭的代码是正确的。火箭危险品,谢谢,效果很好。你能解释一下函数(索引,数据)和函数(数据,函数(键,值)吗?我理解键,值,但数据在这两个地方的内容是相同的,如果是,是什么?我读了代码的其余部分,但我没有得到“双重数据”部分。再次感谢。@Mike_Laird:当你在
responseParsed
上循环时,
索引
是数组中的键,
数据
是数组的值。该值是一个对象。我们需要在该对象上循环,所以我们调用
$。每个
都是
数据
,就像我们在
responseParsed
上做的一样azmat,谢谢,它工作得很好。你能解释一下函数(索引,数据)和函数(数据,函数(键,值)吗。我理解键,值,但数据在这两个地方是相同的内容,如果是,是什么?我读了代码的其余部分,但我没有得到“双重数据”部分。再次感谢。@Mike_Laird:当你在
responseParsed
上循环时,
索引
是数组中的键,
数据
是数组的值。该值是一个对象。我们需要在该对象上循环,所以我们调用
$。每个
都是
数据
,就像我们在
responseParsed
上做的一样。