2016-10-07 131 views
1

我有這個JSON文件,我將它轉換的JSON對象:如何從jQuery中獲取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" 
    } 
] 

與阿賈克斯我可以獲取和打印所有鍵和值在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/>'); 
      }); 
     }, 

}); 
}; 

但我怎麼能是否要打印每個對象的「nome」,「cognome」,「citta」?

+1

'如果(鍵== 「諾姆」 ||鍵== 「cognome」 ||鍵== 「心識」) ' –

回答

0

刪除內部each循環。然後打印您需要的鍵:

$.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/>'); 
}); 
3

如果你知道你想要檢索您可以直接按名稱訪問他們沒有迴路中的屬性的名稱,試試這個:

var data = [{ 
 
    "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" 
 
}] 
 

 
var container = $('div.container'); 
 
$.each(data, function(index, item) { 
 
    container.append('Nome : ' + item.nome + '<br/>Cognome : ' + item.cognome + '<br/>Citta : ' + item.citte + '<br/><br/><br/>'); 
 
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.0/jquery.min.js"></script> 
 
<div class="container"></div>

0

最快的方法 - 創建一個您需要的鍵的數組,並在循環中檢查鍵是否在數組中。

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

這樣,通過單獨添加if/else或每個名稱來修改字段會容易得多。

0

只要把if條件在$.each()

var data = [ 
 
    { 
 
    "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" 
 
    } 
 
] 
 

 

 
$.each(data, function(index, item) { 
 
       console.log(item) 
 
       $.each(item, function(key, value){ 
 
        if(key == "nome" || key == "cognome" || key == "citta") 
 
        $('.container').append(key + ' : ' + value + '<br/>'); 
 
       }); 
 
       $('.container').append('<br/><br/>'); 
 
      });
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<div class="container"></div>

0

$.each是很慢的。如果您有大量數據,則可以使用for loop獲得更多性能。

enter image description here 鏈路與測試中的表現:link

var data = [{ 
 
    "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" 
 
}] 
 

 
var container = $('div.container'); 
 
for(var t=0;t<data.length;t++){ 
 
    container.append('Nome : ' + data[t].nome + '<br/>Cognome : ' + data[t].cognome + '<br/>Citta : ' + data[t].citte + '<br/><br/><br/>'); 
 
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.0/jquery.min.js"></script> 
 
<div class="container"></div>