1386 Stimmen

Konvertiere JS-Objekt in JSON-Zeichenfolge

Wenn ich ein Objekt in JS definiert habe mit:

var j={"name":"binchen"};

Wie kann ich das Objekt in JSON konvertieren? Der Ausgabestring sollte sein:

'{"name":"binchen"}'

2052voto

Andris Punkte 26949

Alle aktuellen Browser haben nativen JSON-Support eingebaut. Also solange du nicht mit prähistorischen Browsern wie IE6/7 zu tun hast, kannst du es genauso einfach machen wie das:

var j = {
  "name": "binchen"
};
console.log(JSON.stringify(j));

123voto

Mit JSON.stringify() in json2.js oder nativ in den meisten modernen Browsern.

JSON.stringify(value, replacer, space)
    value       ein beliebiger JavaScript-Wert, normalerweise ein Objekt oder ein Array.
    replacer    ein optionaler Parameter, der bestimmt, wie Objektwerte für Objekte in Zeichenketten umgewandelt werden. Es kann eine Funktion oder ein Array von Zeichenketten sein.
    space       ein optionaler Parameter, der die Einrückung von verschachtelten Strukturen angibt. Wenn es ausgelassen wird, wird der Text ohne zusätzliche Leerzeichen verpackt. Wenn es eine Zahl ist, gibt sie die Anzahl der Leerzeichen an, die auf jeder Ebene eingerückt werden sollen. Wenn es eine Zeichenfolge ist (wie "\t" oder " "), enthält sie die Zeichen, die auf jeder Ebene zur Einrückung verwendet werden.

36voto

Sarfraz Punkte 366217

Schauen Sie sich die aktualisierte/bessere Methode von Thomas Frank an:

Aktualisierung 17. Mai 2008: Kleiner Säuberer zur toObject-Methode hinzugefügt. Jetzt wird toObject() den String nicht mehr eval()ieren, wenn er bösartigen Code findet. Für noch mehr Sicherheit: Setzen Sie die includeFunctions-Flagge nicht auf true.

Douglas Crockford, Vater des JSON-Konzepts, schrieb einen der ersten Stringifizierer für JavaScript. Später schrieb Steve Yen bei Trim Path eine schöne verbesserte Version, die ich seit einiger Zeit benutzt habe. Es sind meine Änderungen an Steves Version, die ich gerne mit Ihnen teilen möchte. Grundsätzlich basierten sie auf meinem Wunsch, den Stringifizierer folgendermaßen zu gestalten:

  • zyklische Referenzen handhaben und wiederherstellen
  • den JavaScript-Code für Funktionen/Methoden einschließen (optional)
  • Objektmitglieder von Object.prototype ausschließen, wenn nötig.

34voto

Sie können die Methode JSON.stringify() verwenden, um ein JSON-Objekt in einen String zu konvertieren.

var j={"name":"binchen"};
JSON.stringify(j)

Für den umgekehrten Prozess können Sie die Methode JSON.parse() verwenden, um einen JSON-String in ein JSON-Objekt zu konvertieren.

14voto

Vignesh Murugan Punkte 555

JSON.stringify(j, null, 4) würde Ihnen beautified JSON geben, falls Sie auch Verschönerung benötigen

Der zweite Parameter ist Ersatz. Es kann als Filter verwendet werden, um bestimmte Schlüsselwerte beim Stringifizieren herauszufiltern. Wenn auf null gesetzt, gibt es alle Schlüsselwertpaare zurück

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X