2014-05-13 16 views
7

Ho un file JSON e la chiave di quasi ogni oggetto ha uno spazio tra loro, per il loro nome e cognome. Quindi ogni volta che provo a chiamare il valore di quella chiave, dice "non definito". Come faccio a mostrare i valori?Come accedere alla chiave json object con spazio

Ecco un esempio del mio file JSON

{"Wojciech Szczesny":"yes","Lukasz Fabianski":"no","Emiliano Viviano":"no","Olivier Giroud":"yes","Per Mertesacker":"yes","Bacary Sagna":"yes","Laurent Koscielny":"no","Santi Cazorla":"yes","Mikel Arteta":"yes","Mesut \u00d6zil":"no","Kieran Gibbs":"yes","Aaron Ramsey":"no","Jack Wilshere":"no","Mathieu Flamini":"yes","Tomas Rosicky":"yes","Lukas Podolski":"yes","Nacho Monreal":"no","Theo Walcott":"no","Thomas Vermaelen":"yes","Carl Jenkinson":"no","Alex Oxlade-Chamberlain":"no","Serge Gnabry":"no","Kim Kallstrom":"no","Nicklas Bendtner":"no","Abou Diaby":"no","Park Chu-Young":"no","Emmanuel Frimpong":"no","Yaya Sanogo":"no","Ryo Miyaichi":"no","Hector Bellerin":"no","Chuba Akpom":"no","Isaac Hayden":"no","Gideon Zelalem":"no"} 

Ecco il mio codice

$.ajax({ 
url:'ars.json', 
dataType:'json', 
cache: false, 
success: function(data) { 
var count = 0; 
arrayTesting.push(Object.getOwnPropertyNames(data[0])); 
for(var key in data) { 
      //This line does not run at all 
    if(data[key].Per Mertesacker){ 
     count++; 
    }else{} 

} 
    //Nothing prints out in the console 
    console.log(data[key].Per Mertesacker); 
} 
}); 
+2

Il nuovo collegamento di chiusura è sorprendente –

+0

anche: http://stackoverflow.com/questions/12953704/how-to-access-object-properties-containing-special-characters –

risposta

14

Change

console.log(data[key].Per Mertesacker); 

a

console.log(data[key]['Per Mertesacker']); 

Leggi Working with objects