从 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);
- 首先data是你实际的js变量
- 第二个 数据 是 JSON 中的 数组,名为 "data",我们在其中访问第一个元素的 属性 命名为 "descrizione_codice"
希望它澄清
$('#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);
- 首先data是你实际的js变量
- 第二个 数据 是 JSON 中的 数组,名为 "data",我们在其中访问第一个元素的 属性 命名为 "descrizione_codice"
希望它澄清