Heim >Web-Frontend >js-Tutorial >Wie greife ich auf JSON-Objekteigenschaften zu, die Bindestriche enthalten?

Wie greife ich auf JSON-Objekteigenschaften zu, die Bindestriche enthalten?

Susan Sarandon
Susan SarandonOriginal
2024-11-26 19:29:13729Durchsuche

How Do I Access JSON Object Properties Containing Dashes?

Zugriff auf JSON-Objekteigenschaften mit Bindestrichzeichen

Dieses Problem tritt auf, wenn versucht wird, einen Wert aus einem JSON-Objekt abzurufen, bei dem der Eigenschaftsschlüssel ein Bindestrichzeichen (-) enthält. Betrachten Sie beispielsweise den folgenden JSON:

{
"profile-id":1234, "user_id":6789
}

Wenn wir versuchen, mithilfe der Punktnotation (d. h. jsonObj.profile-id) auf die Eigenschaft „profile-id“ zuzugreifen, stoßen wir auf den Fehler „ReferenceError: ' id‘ ist nicht definiert.“

Warum die Punktnotation fehlschlägt

In JavaScript können Eigenschaftsschlüssel in Objekten nur bestimmte enthalten Zeichen, einschließlich Buchstaben, Zahlen und Unterstriche. Dash gehört nicht zu diesen zulässigen Zeichen. Die Punktnotation wandelt einen Eigenschaftsschlüssel mit einem Bindestrich automatisch in einen Subtraktionsausdruck um (d. h. jsonObj.profile - id).

Lösung: Verwendung der Klammernotation

Um diese Einschränkung zu überwinden, können wir Klammern verwenden Notation für den Zugriff auf Objekteigenschaften. Durch die Klammernotation können wir den Eigenschaftsschlüssel als Zeichenfolge angeben. Um auf die Eigenschaft „profile-id“ zuzugreifen, können wir die folgende Syntax verwenden:

jsonObj["profile-id"]

Beispiel

Hier ist ein Beispiel, das zeigt, wie man mithilfe der Klammernotation auf eine Eigenschaft mit einem Bindestrich zugreift :

const jsonObj = {
  "profile-id": 1234,
  "user_id": 6789,
};

console.log(jsonObj["profile-id"]); // Output: 1234

Das obige ist der detaillierte Inhalt vonWie greife ich auf JSON-Objekteigenschaften zu, die Bindestriche enthalten?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn