如何使用jQuery从json对象中获取一些值?

如何使用jQuery从json对象中获取一些值?,jquery,json,ajax,loops,Jquery,Json,Ajax,Loops,我有这个json文件,我在json对象中转换了它: [ { "id": "1", "nome": "erwrw", "cognome": "sdsfdfs", "CF": "qwert", "eta": "27", "sesso": "uomo", "indirizzo": "qwerrt", "luogo": "wewrw", "provincia": "ewrewrw", "citta": "erwrwr",

我有这个json文件,我在json对象中转换了它:

[
  {
    "id": "1",
    "nome": "erwrw",
    "cognome": "sdsfdfs",
    "CF": "qwert",
    "eta": "27",
    "sesso": "uomo",
    "indirizzo": "qwerrt",
    "luogo": "wewrw",
    "provincia": "ewrewrw",
    "citta": "erwrwr",
    "comune": "ewrewrw"
  },

  {
    "id": "2",
    "nome": "mario",
    "cognome": "rossi",
    "CF": "MRSI4343242",
    "eta": "35",
    "sesso": "uomo",
    "indirizzo": "via rossi 10",
    "luogo": "bergamo",
    "provincia": "bergamo",
    "citta": "bergamo",
    "comune": "bergamo"
  }
]
使用ajax,我可以获取并打印html文件中的所有键和值:

function getData()  {
    var container = $('div.container');

    console.log("container",container);
    $.ajax({
        type: 'GET',
        url: 'data/persona1.json',
        dataType: 'json',
        success:function(data){
            console.log(data);
            console.log(data[0].nome);

            $.each(data, function(index, item) {
                $.each(item, function(key, value){
                    container.append(key + ' : ' + value + '<br/>');
                });
                container.append('<br/><br/>');
            });
        },

});
};
函数getData(){ var container=$('div.container'); 控制台日志(“容器”,容器); $.ajax({ 键入:“GET”, url:'data/persona1.json', 数据类型:“json”, 成功:功能(数据){ 控制台日志(数据); console.log(数据[0].nome); $。每个(数据、功能(索引、项目){ $。每个(项目、功能(键、值){ container.append(key+':'+value+'
'); }); container.append(“

”); }); }, }); };
但我如何才能只打印每个对象的“nome”、“cognome”、“citta”

移除内部
每个
循环。然后打印所需的密钥:

$.each(data, function(index, item) {
    container.append('nome : ' + item['nome']+ '<br/>');
    container.append('cognome : ' + item['cognome']+ '<br/>');
    container.append('citta: ' + item['citta']+ '<br/>');
    container.append('<br/><br/>');
});
$。每个(数据、函数(索引、项){
container.append('nome:'+item['nome']+'
'); append('cognome:'+item['cognome']+'
'); container.append('citta:'+item['citta']+'
'); container.append(“

”); });
如果您知道要检索的属性的名称,可以直接按名称访问它们,无需循环,请尝试以下操作:

var数据=[{
“id”:“1”,
“nome”:“erwrw”,
“cognome”:“sdsfdfs”,
“CF”:“qwert”,
“eta”:“27”,
“sesso”:“uomo”,
“indirizzo”:“qwerrt”,
“罗戈”:“wewrw”,
“省”:“ewrewrw”,
“citta”:“erwrwr”,
“comune”:“ewrewrw”
}, {
“id”:“2”,
“诺姆”:“马里奥”,
“cognome”:“rossi”,
“CF”:“MRSI43242”,
“eta”:“35”,
“sesso”:“uomo”,
“indirizzo”:“via rossi 10”,
“罗戈”:“贝加莫”,
“省”:“贝加莫”,
“西塔”:“贝加莫”,
“comune”:“bergamo”
}]
var container=$('div.container');
$。每个(数据、功能(索引、项目){
container.append('Nome:'+item.Nome+'
Cognome:'+item.Cognome+'
Citta:'+item.citte+'

); });
最快的方法-使用您需要的密钥创建一个数组,并检查循环中的密钥是否在数组中

fields = ['nome','cognome','citta'];
...
if ($.inArray(key, fields)){
    ...
}

通过这种方式,修改字段要比单独添加if/else或每个名称容易得多。

只需在
$中添加if条件。each()

var数据=[
{
“id”:“1”,
“nome”:“erwrw”,
“cognome”:“sdsfdfs”,
“CF”:“qwert”,
“eta”:“27”,
“sesso”:“uomo”,
“indirizzo”:“qwerrt”,
“罗戈”:“wewrw”,
“省”:“ewrewrw”,
“citta”:“erwrwr”,
“comune”:“ewrewrw”
},
{
“id”:“2”,
“诺姆”:“马里奥”,
“cognome”:“rossi”,
“CF”:“MRSI43242”,
“eta”:“35”,
“sesso”:“uomo”,
“indirizzo”:“via rossi 10”,
“罗戈”:“贝加莫”,
“省”:“贝加莫”,
“西塔”:“贝加莫”,
“comune”:“bergamo”
}
]
$。每个(数据、功能(索引、项目){
console.log(项目)
$。每个(项目、功能(键、值){
if(key==“nome”| | key==“cognome”| | key==“citta”)
$('.container').append(key+':'+value+'
'); }); $('.container').append('

'); });
$。每个
都非常慢。如果您有大量数据,可以使用
for loop
来获得更高的性能

与测试性能的链接:

var数据=[{
“id”:“1”,
“nome”:“erwrw”,
“cognome”:“sdsfdfs”,
“CF”:“qwert”,
“eta”:“27”,
“sesso”:“uomo”,
“indirizzo”:“qwerrt”,
“罗戈”:“wewrw”,
“省”:“ewrewrw”,
“citta”:“erwrwr”,
“comune”:“ewrewrw”
}, {
“id”:“2”,
“诺姆”:“马里奥”,
“cognome”:“rossi”,
“CF”:“MRSI43242”,
“eta”:“35”,
“sesso”:“uomo”,
“indirizzo”:“via rossi 10”,
“罗戈”:“贝加莫”,
“省”:“贝加莫”,
“西塔”:“贝加莫”,
“comune”:“bergamo”
}]
var container=$('div.container');
对于(var t=0;t
if(key==“nome”| | key==“cognome”| | key==“citta”)