2017-03-29 3 views
1

ich das ganz schwer zu erklären, wie Sie in den Titel sehen können, aber lassen Sie uns sagen, dass dies, wie mein Objekt aussieht,Abschnitt Informationen aus einem JSON-Objekt in einem Abschnitt

{ 
    "success":true, 
    "objects":[ 
     { 
     "name":"Stick", 
     "value":"wood", 
     "size":"large" 
     }... 
    ] 
} 

Jetzt versuche ich Holen Sie alle Daten, wo der Name des Objekts Stick ist, also im Grunde, wenn es "Name" ist Stick sollte es zurückgeben, Name, Wert und Größe.

+2

Sie wollen also, sagen wir, ein Array aller Objekte mit 'name' gleich" Stock"? – jakeehoffmann

+0

@jakeehoffmann Es gibt mehrere "Objekte" in diesem Objekt, da ist Stock, Stein, Kuchen. Nun, was ich möchte ist, wenn ein "Objekte" seinen "Namen" Stick entspricht, dann sollte es mir alle Informationen dort gespeichert, die in diesem Fall ist "Wert" und "Größe" –

Antwort

1

Hier ist was ich tun würde angesichts der Einschränkungen, die Sie angelegt haben.

yourObject = { 
 
    "success":true, 
 
    "objects":[ 
 
     { 
 
     "name":"Stick", 
 
     "value":"wood", 
 
     "size":"large" 
 
     }, 
 
     { 
 
     "name":"another", 
 
     "value":"object", 
 
     "size":"kindaBig" 
 
     }, 
 
     { 
 
     "name":"Rock", 
 
     "value":"mineral", 
 
     "size":"huge" 
 
     } 
 
    ] 
 
}; 
 

 
arr = yourObject.objects.filter((innerObject) => innerObject.name === "Stick"); 
 

 
console.log(arr);

+0

Vielen Dank, das funktioniert perfekt! –

+0

Kein Problem. Bitte akzeptieren/upvote wenn das alles ist. – jakeehoffmann

0

Dank ES5 Sie Karte und Filter wie diese verwenden:

var obj = { 
    "success":true, 
    "objects":[ 
     { 
      "name":"Stick", 
      "value":"wood", 
      "size":"large" 
     } 
    ] 
}.objects 
.filter(function(object) {return object.name === "Stick"}) 
.map(function(object) {return {value: object.value, size: object.size}}) 
Verwandte Themen