2016-08-29 2 views
-4

Ich habe eine Zeichenfolge, deren Wert ein JSON-Objekt ist.JSON als String in Javascript analysieren

var json = '{ 
"Name": { 
    "1": "Adam", 
    "2": "Tim", 
    "3": "Bob" 
}, 
"Height": { 
    "1": "181", 
    "2": "157", 
    "3": "173" 
} 
}'; 

Wie analysieren es Werte erhalten Adam, Tim und Bob und ausdrucken?

+4

mir einen Gefallen tun, Google Ihre genauen Titel und lesen Sie ein wenig nach oben. Antworten darauf finden Sie schneller aus der Forschung, als hier auf eine Antwort zu warten. –

+0

Ihr Code wird einen Fehler ausgeben. Sie müssen Vorlagenliterale verwenden, um neue Zeilen einzufügen. Um die Zeichenfolge zu analysieren, verwenden Sie die Funktion "JSON.parse". –

+3

'JSON.parse()' Und technisch gesehen, warum würden Sie Code so schreiben? JSON ist bereits gültiges Javascript. Alles, was Sie brauchen würden, war 'var foo = {" Name ": ....};' und Sie müssten nichts parsen. der JS-Parser hätte das schon für Sie getan. –

Antwort

1

Da json eine Zeichenkette ist, müssen Sie sie analysieren, um ein JSON-Objekt zu erstellen, und dann können Sie das Objekt um den gewünschten Wert schleifen. Sie können wie Sie folgende

var json = '{"Name": {"1": "Adam","2": "Tim","3": "Bob"},"Height": {"1": "181","2": "157","3": "173"}}'; 

var input = JSON.parse(json); 

for(var key in input) { 
if(input.hasOwnProperty(key)) { 
    if(key === 'Name') { 
    for(var innerKey in input[key]) { 
     if(input[key].hasOwnProperty(innerKey)) { 
      console.log(input[key][innerKey]); 
     } 
    } 
    } 
} 
} 

hier die Geige ist https://jsfiddle.net/Refatrafi/2q67yezc/2/