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:
| geschrieben | nach einem Parse-Print-Rundgang |
|---|---|
12345678901234567890 | 12345678901234567000 |
1.0 | 1 |
1e400 | null |
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.