Hilfe

JSON Stringify online: JavaScript-Objekt als striktes JSON

Füge ein JavaScript-Objekt mit Schlüsseln ohne Anführungszeichen, einfachen Anführungszeichen, Kommentaren oder einem Komma nach dem letzten Eintrag ein und erhalte striktes, escaptes JSON. Dieser JSON Stringifier liest den Text mit einem Parser und führt ihn nie als Code aus. So kannst du auch Text aus einer Konsole, einer Konfigurationsdatei oder einem Codebeispiel einfügen.


JSON Stringify online: so gehst du vor

  1. Füge das Objekt in das Feld JavaScript-Objekt oder JSON ein. Beim Einfügen wird sofort umgewandelt. Wenn du tippst, aktualisiert sich das Ergebnis etwa 300 Millisekunden, nachdem du aufgehört hast.
  2. Wähle bei Format, wie das Ergebnis aussehen soll: Minimiert (Standard, eine einzige Zeile), 2 Leerzeichen oder 4 Leerzeichen.
  3. Lies das Ergebnis unter Striktes JSON. Darunter erscheinen „In striktes JSON umgewandelt.“ und die Zeichenanzahl.
  4. Wähle Kopieren, direkt unter dem Ergebnis. Die Schaltfläche zeigt kurz Kopiert.
  5. Mit Löschen leerst du das Feld und beginnst von vorn.

Ein kleines Beispiel: Du fügst {name: 'Ana', tags: ['a', 'b',], id: 0xFF} ein. Bei Minimiert lautet das Ergebnis {"name":"Ana","tags":["a","b"],"id":255}.

Einfache Anführungszeichen und andere lockere Syntax

Der Text wird mit dem JSON5-Parser gelesen. Er kennt die Stellen, an denen ein JavaScript-Objekt von JSON abweicht. Jede dieser Schreibweisen wird umgewandelt statt abgelehnt:

Anführungszeichen, Backslashes und Zeilenumbrüche innerhalb eines Strings werden für dich escaptet: Aus 'He said "hi"' wird "He said \"hi\"". Was schon gültiges JSON ist, bleibt bis auf die gewählte Darstellung unverändert.

JSON minify online oder mit 2 oder 4 Leerzeichen

Das Menü Format steht über dem Ergebnis. Minimiert schreibt alles in eine Zeile ohne Leerzeichen. Das passt für den Body einer Anfrage, für Testdaten oder für einen Wert, den du in einen String einfügen willst.

2 Leerzeichen und 4 Leerzeichen geben eine eingerückte Darstellung, die sich leichter lesen und vergleichen lässt. Das Ergebnis ändert sich, sobald du eine Option wählst, und Kopieren übernimmt immer das, was du siehst.

Was nicht gelesen wird und was die Fehlermeldung sagt

Akzeptiert werden nur Daten, kein Code. Stoppt der Parser, erscheint ein rotes Feld mit dem Titel Das konnte nicht gelesen werden. Es nennt einen klaren Grund und die Position, etwa „Zeile 1, Spalte 6“. Bei {a:1 b:2} stoppt der Parser am b und weist darauf hin, dass direkt davor ein Komma, Doppelpunkt, eine Klammer oder ein Anführungszeichen fehlen könnte. Endet der Text, während noch eine Klammer, eine geschweifte Klammer oder ein Anführungszeichen offen ist, lautet die Meldung stattdessen „Der Text endet zu früh.“

Zahlen, doppelte Schlüssel und was sich sonst ändert

Das Ergebnis erzeugt JSON.stringify im Browser selbst, deshalb sind Zahlen JavaScript-Zahlen. Das hat Folgen, die du vor dem Kopieren kennen solltest:

Ist die Eingabe schon gültiges JSON und willst du sie nur einrücken, ohne dass sich eine Ziffer ändert, nimm „JSON formatieren“. Zum Prüfen gegen ein Schema gibt es den „JSON-Schema-Validator“.

Grenzen und Datenschutz


Häufige Fragen

Wie mache ich aus einem JavaScript-Objekt JSON?

Füge das Objekt in das Feld „JavaScript-Objekt oder JSON“ ein. Es wird sofort beim Einfügen umgewandelt, beim Tippen etwa 300 Millisekunden nach der letzten Eingabe, und das strikte JSON erscheint unter „Striktes JSON“. Mit „Kopieren“ nimmst du es mit. Füge nur das Objekt selbst ein, keine Zeile wie const data = {...};.

Wie werden einfache Anführungszeichen in JSON zu doppelten?

Füge den Text ein. Jeder String in einfachen Anführungszeichen kommt mit doppelten heraus, und ein doppeltes Anführungszeichen darin wird escaptet, aus 'He said "hi"' wird also "He said \"hi\"". Angefasst werden nur Strings und Schlüssel, ein Apostroph in einem doppelt zitierten String bleibt, wie er ist.

Wie entferne ich ein Komma nach dem letzten Eintrag einer JSON-Liste?

Füge den Text ein. Ein Komma nach dem letzten Eintrag eines Objekts oder Arrays, etwa in [1, 2,], wird bei der Eingabe akzeptiert und im Ergebnis unter „Striktes JSON“ weggelassen. Sonst ändert sich an den Daten nichts.

Darf JSON Schlüssel ohne Anführungszeichen oder Kommentare haben?

Striktes JSON nicht: Jeder Schlüssel und jeder String braucht doppelte Anführungszeichen, und eine Kommentar-Syntax gibt es nicht. JavaScript-Objekte und Konfigurationsdateien haben oft beides. Dieses Tool liest sie, schreibt die Schlüssel mit doppelten Anführungszeichen und lässt die Kommentare weg. JSON5 ist eine lockerere Obermenge von JSON mit solchen Schreibweisen, Hexzahlen und weiteren JavaScript-Formen. Das Tool liest diese Syntax und schreibt einfaches JSON.

Wie minimiere ich JSON oder rücke es mit 2 oder 4 Leerzeichen ein?

Nutze das Menü „Format“ über dem Ergebnis. „Minimiert“ ist der Standard und gibt eine Zeile ohne Leerzeichen aus. 2 Leerzeichen und 4 Leerzeichen geben eine eingerückte Fassung. Ergebnis und Kopieren ändern sich sofort, wenn du eine andere Option wählst.

Warum steht dort „Das konnte nicht gelesen werden“?

Der Text ist kein Objekt, Array oder Wert, den der Parser versteht. Das rote Feld nennt die Stelle, zum Beispiel „Zeile 1, Spalte 6“, und was du prüfen sollst: ein fehlendes Komma, einen fehlenden Doppelpunkt, eine fehlende Klammer oder ein fehlendes Anführungszeichen direkt davor, oder eine Klammer, die am Ende noch offen ist. Anweisungen wie const x = {...}, ein Semikolon am Ende, Backtick-Strings, undefined, Funktionen und new Date() werden nicht akzeptiert. Füge nur das Objekt ein.

Wird das eingefügte JavaScript ausgeführt?

Nein. Der Text wird von einem Parser (JSON5) gelesen, nie von eval, deshalb kann nichts davon laufen. Aus demselben Grund wird Code abgelehnt: Eine Funktion, ein Variablenname oder new Date() ist ein Fehler und nichts, was ausgewertet wird.

Warum hat sich meine große Zahl verändert?

Zahlen werden zu JavaScript-Zahlen, und die sind nur bis 9007199254740991 exakt. 12345678901234567890 kommt als 12345678901234567000 heraus und 1.0 als 1. Brauchst du jede Ziffer einer langen ID, setze sie in der Eingabe in Anführungszeichen oder nimm „JSON formatieren“, das Zahlen genau so übernimmt, wie sie geschrieben sind. NaN, Infinity und -Infinity werden zu null, weil JSON keine Schreibweise dafür hat. Kommt ein Schlüssel zweimal vor, gewinnt der letzte Wert.

Ist das dasselbe wie JSON.stringify, und wie groß darf der Text sein?

Das Ergebnis entsteht mit JSON.stringify, die Ausgaberegeln sind also dieselben. Der Unterschied ist die Eingabe: JSON.stringify braucht ein echtes Objekt in deinem Code, hier fügst du den Text des Objekts ein, auch mit lockerer Syntax. Erlaubt sind bis zu 5.000.000 Zeichen. Die Umwandlung läuft auf deinem Gerät, nichts wird hochgeladen oder gespeichert.

Empfohlen

Hilft, die Tools kostenlos zu halten. ✨

Symbolbilder. Als Amazon-Partner verdiene ich an qualifizierten Verkäufen.