Input (Array di oggetti JSON)

Output unito

Cos'è la fusione JSON?

Hai un file default.json e un production.json che sovrascrive solo poche impostazioni — e hai bisogno di un unico risultato unito. È esattamente per questo che esiste questo strumento. Unire il JSON significa combinare due o più oggetti in uno solo. Nella fusione superficiale, gli oggetti successivi sovrascrivono i precedenti per le chiavi condivise. Nella fusione profonda (seguendo pattern come Object.assign), gli oggetti annidati vengono combinati ricorsivamente invece di essere completamente sostituiti.

Questo strumento funziona nel tuo browser. Incolla un array di oggetti JSON, scegli la modalità e ottieni l'output unito istantaneamente. Niente viene inviato a un server.

Come usare questo strumento

1

Incolla o carica

Incolla un array di oggetti JSON nell'editor di sinistra o carica un file. Usa Esempio per caricare dati di prova.

2

Scegli la modalità di fusione

Seleziona Profondo per unire gli oggetti annidati ricorsivamente, o Superficiale per una semplice unione di primo livello. L'output si aggiorna automaticamente.

3

Copia o scarica

Usa Copia o Scarica per ottenere il JSON unito. Per formattare il risultato: Formattatore JSON. Per validare: Validatore JSON.

Dove aiuta la fusione JSON

La fusione JSON è comune nella gestione delle configurazioni: combinare le impostazioni predefinite con gli override specifici dell'utente. Nelle applicazioni web, le risposte API vengono spesso unite con lo stato locale. Il Formattatore JSON aiuta a formattare il risultato per la leggibilità.

Esempi di fusione JSON

Esempio di fusione di due oggetti di configurazione abbonato. Il secondo oggetto sovrascrive il primo per le chiavi in conflitto.

Esempio: fusione configurazione abbonato

Input (array di oggetti da unire):

Input

Output unito:

Output

Fusione superficiale vs profonda

Fusione superficiale: se entrambi gli oggetti hanno una chiave, il valore del secondo sostituisce completamente il primo. Gli oggetti annidati non vengono uniti, vengono sostituiti. Fusione profonda: gli oggetti annidati vengono uniti ricorsivamente. Quindi unire {"a": {"b": 1}} con {"a": {"c": 2}}{"a": {"b": 1, "c": 2}} in modalità profonda, ma {"a": {"c": 2}} in modalità superficiale. Object.assign di JavaScript fa una fusione superficiale. Le librerie come Lodash merge fanno una fusione profonda.

La specifica JSON definisce gli oggetti come collezioni non ordinate di coppie chiave-valore. L'ordine di fusione è importante: i valori successivi sovrascrivono quelli precedenti. Unire le configurazioni dalle risposte API di Postman o fetch, o combinare valori predefiniti con override, è comune. Lo standard ufficiale è RFC 8259. La guida JSON di MDN tratta il parsing e la serializzazione.

Domande frequenti

Come unisco due oggetti JSON in JavaScript?

Per una fusione superficiale, usa l'operatore spread: {...objA, ...objB} o Object.assign({}, objA, objB). Per una fusione profonda, usa una libreria come Lodash _.merge(). Questo strumento gestisce entrambi i casi senza codice.

Qual è la differenza tra fusione profonda e superficiale?

Nella fusione superficiale, se entrambi gli oggetti hanno la stessa chiave, il valore dell'oggetto successivo sostituisce completamente il precedente — inclusi gli oggetti annidati. Nella fusione profonda, gli oggetti annidati vengono combinati ricorsivamente. Quindi {"a": {"b": 1}} unito profondamente con {"a": {"c": 2}}{"a": {"b": 1, "c": 2}} — entrambe le chiavi sopravvivono.

Come unisco file di configurazione JSON con override?

Incolla le tue configurazioni come array JSON con i valori predefiniti prima e gli override per ultimi: [defaultConfig, productionConfig]. Usa la fusione profonda se le configurazioni hanno oggetti annidati.

Come vengono gestiti gli array negli oggetti JSON durante la fusione?

Gli array vengono sostituiti, non concatenati. Se l'oggetto A ha "items": [1, 2] e l'oggetto B ha "items": [3], il risultato ha "items": [3].

I miei dati vengono inviati a un server?

No. La fusione viene eseguita completamente nel tuo browser. Il tuo JSON non lascia mai il tuo dispositivo.

Strumenti correlati

Per la sintassi JSON, vedi json.org e RFC 8259. Per la fusione in JavaScript, vedi MDN Object.assign e la sintassi spread. Per la fusione profonda di Lodash, vedi la funzione merge. Per una panoramica JSON, MDN. Vedi anche jq e Postman.