100 % lokal — Ihre Daten verlassen nie Ihren Browser

JSON-Formatter — minifiziertes Payload lesen

JSON einrücken und die Zahlen lassen, wie sie geschrieben stehen. Eine zwanzigstellige ID behält ihre Ziffern — Sie lesen die Antwort, keine Kopie.

Sofort Privat Null Cookies
Einrückung

JSON-Eingabe

JSON-Ausgabe

Was dieses Werkzeug tut

Es rückt neu ein. Die Zeichen, aus denen jeder Wert besteht, bleiben genau die, die Sie getippt haben.

{"id":12345678901234567890,"ratio":1.0,"riesig":1e400}
{
  "id": 12345678901234567890,
  "ratio": 1.0,
  "riesig": 1e400
}

Der naheliegende Weg ändert Ihre Zahlen

Schicken Sie dieselbe Eingabe durch die naheliegende Umsetzung — JSON.parse, dann JSON.stringify — und alle drei Werte ändern sich:

geschriebennach einem Parse-Print-Rundgang
1234567890123456789012345678901234567000
1.01
1e400null

Eine JavaScript-Zahl ist eine Gleitkommazahl doppelter Genauigkeit. Sie hält etwa fünfzehn Ziffern, sie erinnert sich nicht daran, dass Sie einen Dezimalpunkt geschrieben haben, und jenseits von rund 1,8 × 10³⁰⁸ wird sie unendlich — was JSON nicht darstellen kann und daher als null ausgibt.

Nichts davon ist eine Rundungskuriosität. 12345678901234567890 ist die Form eines Twitter-Snowflakes, eines PostgreSQL-bigint oder einer Zahlungsreferenz, und ein Formatierer, der sie ändert, gibt Ihnen eine Datei, die nicht mehr auf dieselbe Zeile zeigt.

Dieses Werkzeug liest jede Zahl als den Text, der sie ist, und schreibt diesen Text zurück.

Doppelte Schlüssel werden abgelehnt, nicht entschieden

{ "port": 8080, "host": "example.com", "port": 3000 }

RFC 8259 sagt, Objektnamen sollten eindeutig sein — ein SHOULD, kein MUST — und sagt nichts darüber, was sonst gilt. In der Praxis sind die Parser uneins: die meisten behalten den letzten, manche den ersten, manche lehnen das Dokument ab.

Für Sie zu wählen ergäbe eine Datei, die etwas anderes bedeutet, ohne dass etwas es sagt. Das Werkzeug hält an und nennt die Position des zweiten Schlüssels.

Nur striktes JSON

Keine Kommentare, keine nachgestellten Kommas, keine Zeichenketten in einfachen Anführungszeichen. Das sind JSON5 und JSONC: andere Sprachen, die in Dateien namens .json wohnen.

Sie anzunehmen hieße, Ausgaben zu erzeugen, die die halbe Welt der Parser ablehnt — das Gegenteil dessen, wozu ein Formatierer da ist. Die Fehlermeldung nennt die Position des Zeichens, an dem es brach.

Die zwei Einstellungen

Einrückung — zwei Leerzeichen als Vorgabe. Null ergibt die minifizierte Form.

Schlüssel sortieren — alphabetisch, rekursiv, Arrays in ihrer Reihenfolge. Praktisch vor dem Vergleich zweier Dateien; lassen Sie es aus, wenn die Schlüsselreihenfolge etwas bedeutet.

Datenschutz ab Werk

Alles läuft lokal in deinem Browser mit JavaScript. Deine Daten werden nie hochgeladen, wodurch das Tool auch für sensible Inhalte sicher ist und offline funktioniert.

Häufige Fragen

Warum ändern andere Formatierer meine Zahlen?
Weil sie zu einem JavaScript-Wert parsen und den wieder ausgeben, und eine JavaScript-Zahl ist eine Gleitkommazahl doppelter Genauigkeit. `12345678901234567890` wird `12345678901234567000`, `1.0` wird `1`, und `1e400` — jenseits des größten Double — wird `null`. Dieser behält den literalen Text jeder Zahl: das Formatieren ändert die Anordnung und sonst nichts.
Warum ist ein doppelter Schlüssel ein Fehler?
Weil es keine richtige Antwort gibt. RFC 8259 sagt, Namen in einem Objekt *sollten* eindeutig sein, und lässt offen, was gilt, wenn sie es nicht sind: manche Parser behalten den ersten, die meisten den letzten, manche lehnen ab. Stillschweigend zu wählen ergäbe ein Dokument, das etwas anderes bedeutet als das eingefügte. Die Position des zweiten Schlüssels steht in der Meldung.
Kann es JSON mit Kommentaren oder nachgestellten Kommas lesen?
Nein. Das sind JSON5 und JSONC, andere Sprachen mit demselben Namen auf der Datei. Sie hier anzunehmen hieße, Ausgaben zu erzeugen, die die halbe Welt der Parser ablehnt. Der Fehler nennt die Position des störenden Zeichens.

Ähnliche Konverter