Vai al contenuto

Convertitore online da JavaScript a JSON — Numio

Trasforma un oggetto letterale JavaScript in JSON rigoroso con rientro di 2 spazi. Le chiavi senza virgolette, le virgolette singole, i commenti, le virgole finali, i numeri esadecimali e i decimali con punto iniziale sono accettati e normalizzati.

Copia di un oggetto di configurazione o dispositivo da un file .js in un file JSON, nel corpo della richiesta API o nella raccolta Postman.

Accetta JSON e JSON5, inclusi commenti, virgolette singole e virgole finali. Le funzioni e le espressioni JavaScript non vengono eseguite.

JS Object

JSON

Quando usarlo

  • Copia di un oggetto di configurazione o dispositivo da un file .js in un file JSON, nel corpo della richiesta API o nella raccolta Postman.
  • Ripulire un oggetto incollato dal browser DevTools o dalla documentazione in modo che passi un rigoroso parser JSON.

Come si usa

  1. Incolla il valore letterale dell'oggetto (solo dati, nessuna dichiarazione di variabile o punto e virgola finale) nell'editor di sinistra oppure usa il pulsante carica file per aprire un file UTF-8.
  2. Il JSON compare a destra mentre scrivi; se appare un errore come "invalid character", controlla la riga e la colonna segnalate.
  3. Rivedi i valori convertiti (l'esadecimale diventa decimale, le virgolette diventano virgolette doppie) e copia il risultato.

Letterale oggetto JavaScript

{
  // Mongoose-style field definition
  title: {
    type: 'String',
    required: true,
  },
  year: { type: 'Number', max: 0x7E6 },
  tags: ['draft', 'review',],
  ratio: .75,
  'content-type': "text/plain",
}

JSON

{
  "title": {
    "type": "String",
    "required": true
  },
  "year": {
    "type": "Number",
    "max": 2022
  },
  "tags": [
    "draft",
    "review"
  ],
  "ratio": 0.75,
  "content-type": "text/plain"
}

Dettagli e limiti

L’input viene analizzato dal parser JSON5 nel browser; il codice non viene mai eseguito. Espressioni, funzioni, new Date(), template literal, undefined e riferimenti a variabili vengono rifiutati come caratteri non validi.

NaN e Infinity vengono rifiutati con un errore perché JSON non può rappresentarli.

I commenti e la formattazione originale dell'ordine delle chiavi non vengono mantenuti; l'output utilizza sempre virgolette doppie e rientro di 2 spazi.

I numeri interi oltre 2^53 perdono precisione (12345678901234567890 diventa 12345678901234567000). Cita ID di grandi dimensioni come stringhe.

FAQ

Posso incollare const config = { ... };?

No. Viene accettato solo il valore. Rimuovere la dichiarazione e il punto e virgola finale, altrimenti il ​​parser riporta un carattere non valido in quella posizione.

Cosa succede alle chiavi duplicate?

Vince l'ultima occorrenza. {a: 1, a: 2} diventa {"a": 2} senza alcun avviso, quindi controlla gli oggetti che sono stati uniti manualmente.

Accetta array o singoli valori alla radice?

Sì. Qualsiasi valore JSON5 funziona, ad esempio [1, 2,] diventa un array JSON a due elementi e 'hi' diventa "hi".

Specifiche e riferimenti