Un formattatore non dovrebbe modificare un identificativo
L'ID di un ordine può sembrare un numero ma comportarsi come un'etichetta. Il valore 9007199254740993 è JSON valido, ma convertirlo in un Number di JavaScript può arrotondarlo. Questo formattatore mantiene ogni token numerico così com'è scritto. Le cifre decimali, la grafia dell'esponente e uno zero negativo sopravvivono alla formattazione perché lo strumento modifica il layout e non valuta quei valori.
Le chiavi duplicate meritano un controllo a parte. Due voci chiamate status nello stesso oggetto possono raccontare cose diverse a sistemi diversi. Alcuni parser mantengono l'ultimo valore, mentre altri software rifiutano il documento. MAXScanner si ferma e ti chiede di scegliere la voce corretta. Le chiavi con escape vengono confrontate in base al testo decodificato, quindi due grafie dello stesso nome vengono comunque trattate come duplicati.
Formattare in modo leggibile e minimizzare servono a scopi diversi. L'indentazione rende più facile rivedere una risposta annidata; l'output compatto rimuove gli spazi bianchi fuori dalle stringhe. Nessuna delle due modalità accorcia il contenuto all'interno di una stringa. L'ordinamento cambia la sequenza delle voci degli oggetti ma lascia gli array nel loro ordine originale. Lascia l'ordinamento disattivato se chi revisiona si aspetta di vedere la sequenza di origine.
Il validatore accetta il JSON standard e non i letterali oggetto di JavaScript. Commenti, virgole finali e stringhe con apici singoli vanno corretti nell'origine. Rifiuta inoltre i surrogati Unicode non accoppiati, così un successivo download in UTF-8 non li sostituirà in silenzio. La convalida controlla la struttura, non se un prezzo, una data o un numero di conto siano corretti. Confronta i campi importanti con il sistema di origine prima di inoltrare il risultato.