Markieren Sie das Kontrollkästchen Englisch, um die englische Version dieses Artikels anzuzeigen. Sie können den englischen Text auch in einem Popup-Fenster einblenden, indem Sie den Mauszeiger über den Text bewegen.
Übersetzung
Englisch

JSON.parse-Funktion (JavaScript)

 

Konvertiert eine Zeichenfolge der JSON-Objekte (JavaScript-Objekt-Notation) in ein Objekt.

JSON.parse(text [, reviver])

text

Erforderlich. Eine gültige JSON-Zeichenfolge.

reviver

Optional. Eine Funktion, die die Ergebnisse transformiert. Diese Funktion wird für jeden Member des Objekts aufgerufen. Wenn ein Member geschachtelte Objekte enthält, werden die geschachtelten Objekte vor dem übergeordneten Objekt transformiert. Für jeden Member tritt Folgendes auf:

  • Wenn reviver einen gültigen Wert zurückgibt, wird der Memberwert durch den umgewandelten Wert ersetzt.

  • Wenn reviver denselben Wert zurückgibt, der empfangen wurde, wird der Memberwert nicht geändert.

  • Wenn reviver den Wert Null oder Nicht definiert zurückgibt, wird der Member gelöscht.

Ein Objekt oder ein Array.

Wenn diese Funktion einen JavaScript-Parserfehler auslöst (wie "SCRIPT1014: Ungültiges Zeichen"), entspricht der Eingabetext nicht JSON-Syntax. Führen Sie einen der folgenden Schritte aus, um den Fehler zu beheben:

  • Ändern Sie das text-Argument, sodass es JSON-Syntax entspricht. Weitere Information finden Sie im Thema zur BNF-Syntaxschreibweise für JSON-Objekte.

    Wenn die Antwort beispielsweise im JSONP- anstatt im reinen JSON-Format vorliegt, versuchen Sie diesen Code auf dem Antwortobjekt:

    var fixedResponse = response.responseText.replace(/\\'/g, "'");
    var jsonObj = JSON.parse(fixedResponse);
    
  • Stellen Sie sicher, dass das text-Argument durch eine JSON-kompatible Implementierung serialisiert wurde, wie JSON.stringify.

  • Führen Sie das text-Argument in einem JSON-Validierungssteuerelement aus, wie beispielsweise JSLint, um das Identifizieren von Syntaxfehlern zu erleichtern.

Exception Condition

Beispiel

Im folgenden Beispiel wird JSON.parse verwendet, um eine JSON-Zeichenfolge in ein Objekt zu konvertieren.

var jsontext = '{"firstname":"Jesper","surname":"Aaberg","phone":["555-0100","555-0120"]}';
var contact = JSON.parse(jsontext);
document.write(contact.surname + ", " + contact.firstname);
document.write(contact.phone[1]);
// Output:
// Aaberg, Jesper
// 555-0100

Beispiel

Im folgenden Beispiel wird ein Array mit JSON.stringify in eine JSON-Zeichenfolge konvertiert und dann mit JSON.parse zurück in ein Array konvertiert wird.

var arr = ["a", "b", "c"];
var str = JSON.stringify(arr);
document.write(str);
document.write ("<br/>");

var newArr = JSON.parse(str);

while (newArr.length > 0) {
    document.write(newArr.pop() + "<br/>");
}


// Output:
// ["a","b","c"]
// c
// b
// a

Beispiel

Die reviver-Funktion wird häufig verwendet, um eine JSON-Darstellung von Datumszeichenfolgen der International Organisation für Normung (ISO in Date-Objekte im Format der koordinierten Weltzeit (UTC) umzuwandeln. In diesem Beispiel wird JSON.parse verwendet, um eine ISO-formatierte Datumszeichenfolge zu deserialisieren. Die dateReviver-Funktion gibt Date-Objekte für Member zurück, die wie ISO-Datumszeichenfolgen formatiert werden.

var jsontext = '{ "hiredate": "2008-01-01T12:00:00Z", "birthdate": "2008-12-25T12:00:00Z" }';
var dates = JSON.parse(jsontext, dateReviver);
document.write(dates.birthdate.toUTCString());

function dateReviver(key, value) {
    var a;
    if (typeof value === 'string') {
        a = /^(\d{4})-(\d{2})-(\d{2})T(\d{2}):(\d{2}):(\d{2}(?:\.\d*)?)Z$/.exec(value);
        if (a) {
            return new Date(Date.UTC(+a[1], +a[2] - 1, +a[3], +a[4],
                            +a[5], +a[6]));
        }
    }
    return value;
};

// Output:
// Thu, 25 Dec 2008 12:00:00 UTC

Anforderungen

Wird in den folgenden Dokumentmodi unterstützt: Internet Explorer 8-Standardmodus, Internet Explorer 9-Standardmodus, Internet Explorer 10-Standardmodus, Internet Explorer 11-Standardmodus. Wird auch unterstützt von Apps aus dem Store (Windows 8 und Windows Phone 8.1). Siehe Versionsinformationen.

Wird in den folgenden Dokumentmodi nicht unterstützt: Quirksmodus, Internet Explorer 6-Standardmodus, Internet Explorer 7-Standardmodus.

Anzeigen: