Konvertiere das:
%Vor%Dazu:
{"BLE89-A0-123-384": "3", "BLE10-A0-123-321": "4"}
das ist ... {id: menge}
Ich habe eine Antwort gefunden, die fast das tut, was ich brauche: Suche nach einem Objekt in der JSON . Aber diese Antwort hilft mir nicht, weil es nur auf der ersten Ebene ist (ein JSON-Objekt). Mein Problem ist auf der zweiten Ebene (Json-Objekt innerhalb eines JSON-Objekts). Vielen Dank im Voraus!
Es hilft, wenn Sie JSON-Objekte nicht als JSON-Objekte betrachten. Sobald Sie eine JSON-Zeichenfolge über JSON.parse ausführen, handelt es sich um ein systemeigenes JavaScript-Objekt.
In JavaScript gibt es zwei Möglichkeiten, auf Objekte zuzugreifen.
Die Punktnotation geht so
myObject.name
Sehen Sie den Punkt? Sie können das verwenden, um auf eine beliebige Objekt -Eigenschaft zuzugreifen (was in der Tat ein anderes Objekt in JavaScript sein kann, solange es einen gültigen Punktnotationsnamen hat). Sie können keine Zeichen wie -
, .
und das Leerzeichen verwenden.
myObject["variableName"]
Wie Punktnotation aber erlaubt einige andere Zeichen, wie -
und das Leerzeichen .. Genau dasselbe.
Die Verwendung dieser Notationen ist nützlich, da wir auf geschachtelte Eigenschaften zugreifen können.
myObj.foo.bar.baz()
Kommen wir nun zu Ihrem JSON-Objekt ...
{"items":[{"id":"BLE89-A0-123-384","weight":"100","quantity":3,"stock":0},
{"id":"BLE10-A0-123-321","weight":"100","quantity":4,"stock":0}],
Vielleicht möchten Sie das JSON-Format selbst auffrischen, aber in Ihrem Beispiel sind hier ein paar Hinweise ...
{
Bezeichnet den Start eines Objekts. (Beachten Sie, dass Ihre gesamte JSON-Zeichenfolge selbst ein Objekt ist.)
}
Bedeutet das Ende eines Objekts.
"variable"
(mit Anführungszeichen! wichtig in JSON, aber nicht beim Zugriff / Deklarieren von JavaScript-Objekten) weist Ihrem Objekt eine Eigenschaft zu.
:
Ist der Zuweisungsoperator in JSON- und JavaScript-Objekten.
Alles auf der rechten Seite von :
ist der Wert, den Sie der Eigenschaft auf der linken Seite zuweisen.
,
Bedeutet, dass Sie eine neue Eigenschaft innerhalb eines Objekts starten.
Sie wissen wahrscheinlich, dass []
mit ,
Kommas im Inneren ein Array bedeutet.
Wenn wir Ihre Zeichenfolge durch JSON.parse(string)
laufen lassen, erhalten wir ein Objekt, das so aussieht ...
var myResponse = JSON.parse(response);
Sie können es jetzt als natives JavaScript-Objekt verwenden. Was Sie suchen, ist eine verschachtelte Eigenschaft innerhalb von "Elementen".
var items = myResponse.items; //alternatively you could just use myResponse.items
Da items
ein Array von Objekten ist, müssen wir es durchlaufen, um das existierende Objekt in ein neues Objekt umzuwandeln.
Ergebnis ist jetzt ein Objekt, das wie folgt aussieht:
%Vor%Sie können auf die Eigenschaften mithilfe der Klammernotation zugreifen.
var BLE89 = result["BLE10-A0-123-321"]; //use quotes, otherwise JavaScript will try to look up the value of a variable.
Sie können versuchen mit:
%Vor% quantities
ist dann das Objekt {"BLE89-A0-123-384":3,"BLE10-A0-123-321":4}
. forEach
ist eine native Methode für Array-Objekte in JavaScript, mit der Sie iterieren können Elemente. Sie können diesen Code in eine Funktion einfügen:
Tags und Links javascript json