Dieser Inhalt wurde automatisch aus dem Englischen übersetzt, und kann Fehler enthalten. Erfahre mehr über dieses Experiment.

View in English Always switch to English

GeolocationPosition: Methode toJSON()

Baseline 2024
Neu verfügbar

Seit September 2024 funktioniert diese Funktion auf aktuellen Geräten und in aktuellen Browserversionen. Auf älteren Geräten oder in älteren Browsern funktioniert sie möglicherweise nicht.

Die Methode toJSON() des Interfaces GeolocationPosition gibt ein JSON-serialisierbares, einfaches Objekt zurück, das das GeolocationPosition-Objekt repräsentiert.

Die Methode wird von JSON.stringify() automatisch aufgerufen, wenn bei der JSON-Serialisierung ein GeolocationPosition-Objekt verarbeitet wird.

Syntax

js
toJSON()

Parameter

Keine.

Rückgabewert

Ein JSON-serialisierbares, einfaches Objekt mit den folgenden Eigenschaften:

Der Wert jeder Eigenschaft wird unverändert kopiert. Wenn das zurückgegebene Objekt an JSON.stringify() übergeben wird, wird die Eigenschaft coords mithilfe von GeolocationCoordinates.toJSON() weiter serialisiert.

Beispiele

toJSON() direkt aufrufen

Dieses Beispiel ruft ein GeolocationPosition-Objekt ab. Ein direkter Aufruf von toJSON() gibt ein einfaches Objekt zurück. Dessen Eigenschaften haben dieselben Werte wie die entsprechenden Eigenschaften des ursprünglichen Objekts.

js
navigator.geolocation.getCurrentPosition((position) => {
  const json = position.toJSON();
  console.log(json); // A plain object
  console.log(typeof json); // "object"
  console.log(json.timestamp); // Same value as position.timestamp
});

In einen JSON-String serialisieren

Innerhalb der Callback-Funktion aus dem vorherigen Beispiel kann dasselbe Objekt mit JSON.stringify() serialisiert werden. Dabei wird die Methode toJSON() automatisch aufgerufen.

js
console.log(JSON.stringify(position));

Dadurch würde ein JSON-String wie der folgende protokolliert (zur besseren Lesbarkeit formatiert):

json
{
  "timestamp": 1717509611840,
  "coords": {
    "accuracy": 13.5,
    "latitude": 53.125,
    "longitude": 8.75,
    "altitude": null,
    "altitudeAccuracy": null,
    "heading": null,
    "speed": null
  }
}

Spezifikationen

Spezifikation
Geolocation
# tojson-method

Browser-Kompatibilität

Siehe auch