【问题标题】:Issue getting first item from JSON array从 JSON 数组获取第一项的问题
【发布时间】:2015-01-04 18:37:45
【问题描述】:
$('#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
}

我做错了,Firebug 告诉我的 data(0).descrizione_codice 告诉我“数据不是函数”..

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

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

【问题讨论】:

    标签: javascript jquery arrays json


    【解决方案1】:

    根据您的 JSON 结构,您应该能够以 data.data 访问数组

    .done(function (data) {
        console.log(data.data[0].descrizione_codice);
    });
    

    【讨论】:

    • 是的。工作! 4 分钟内接受
    • 我收到以下错误... Uncaught TypeError: Cannot read property '0' of undefined
    • @iamchriswick 您需要检查 data 是什么。检查console.log(data)
    【解决方案2】:
        $('#results').val('Descrizione codice: ' + data.data[0].descrizione_codice);
    
    1. 第一个 data 是您的实际 js 变量
    2. 第二个 data 是您在 JSON 中的 数组,名为“data”,我们在其中访问名为“descrizione_codice”的第一个元素的属性

    希望它澄清

    【讨论】:

      猜你喜欢
      • 2020-05-17
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-04-07
      • 1970-01-01
      • 1970-01-01
      • 2017-11-29
      相关资源
      最近更新 更多