从 JSON 数组获取第一项的问题

Issue getting first item from JSON array

$('#data').change(function () {
    $.ajax({
        url:        'richiesta.php',
        type:       'POST',
        dataType:   'json',
        data: {
            value: this.value
        },
    }).done(function (data) {
        $('#textfield').val(JSON.stringify(data));
        $('#results').val('Descrizione codice: ' + data[0].descrizione_codice);
    });
});

richiesta.php只是一个文件,触发一些函数来获取JSON。 #textfield 已正确填充原始 JSON,因此一切正常。

我不知道如何输出 #results 中由名称 descrizione_codice 标识的 JSON 的第一项。

JSON 有效,这里是选择一个选项的示例(截断):

{
   "data":[
      {
         "codice_comparto":"PRO",
         "descrizione_codice":"Competenze fisse per il personale a tempo indeterminato",
         "codice_siope":"1101",
         "descrizione_ente":"",
         "ricerca":false,
         "idtable":"000717409-1101",
         "cod_ente":"000717409",
         "anno":"2014",
         "periodo":"12",
         "codice_gestionale":"1101",
         "imp_uscite_att":"756",
         "importo_2013":"37718576",
         "importo_2014":"32810124",
         "importo_2015":null
      }
   ],
   "cosa":false
}

我做错了什么是 data(0).descrizione_codice 正如 Firebug 告诉我 "data is not a function"..

我没有使用 $.parseJSON 因为 jQuery already parses data 由于数据类型正确。

我放了一个测试页here。您可以请求 JSON 响应,从下拉菜单中选择一个选项。

根据您的 JSON 结构,您应该能够以 data.data

的方式访问数组
.done(function (data) {
    console.log(data.data[0].descrizione_codice);
});
    $('#results').val('Descrizione codice: ' + data.data[0].descrizione_codice);
  1. 首先data是你实际的js变量
  2. 第二个 数据 是 JSON 中的 数组,名为 "data",我们在其中访问第一个元素的 属性 命名为 "descrizione_codice"

希望它澄清