Input (Array di oggetti JSON)

Output unito

Cos'è la fusione JSON?

La fusione JSON combina due o più oggetti JSON in uno solo. Le chiavi del secondo oggetto sovrascrivono quelle del primo in caso di conflitto. La fusione profonda gestisce gli oggetti annidati ricorsivamente; la fusione superficiale sostituisce gli oggetti annidati completamente.

Questo narzedzie 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 narzedzie

1

Incolla o carica

Incolla un array di oggetti JSON nell'editor di sinistra o carica un plik. Usa Przyklad per caricare dane 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

Kopiuj o scarica

Usa <strong>Kopiuj</strong> o <strong>Pobierz</strong> per ottenere il JSON unito. Per formattare il risultato: Formater JSON. Per validare: Walidator 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 Formater JSON aiuta a formattare il risultato per la leggibilità.

Przyklady fusione JSON

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

Przyklad: 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.

czesto zadawane pytania

Mam dwa osobne obiekty zamiast tablicy?

Owiń je w tablicę: [{"a": 1}, {"b": 2}]. To narzędzie oczekuje tablicy obiektów.

Jak są obsługiwane tablice?

W większości implementacji scalania tablice są zastępowane, a nie łączone. Jeśli obiekt A ma "items": [1, 2], a obiekt B ma "items": [3], wynik zazwyczaj ma "items": [3]. Sprawdź wynik narzędzia, aby potwierdzić.

Czy moje dane są wysyłane gdzieś?

Nie. Scalanie odbywa się w przeglądarce.

Czy mogę scalać pliki konfiguracyjne?

Tak. Wklej każdą konfigurację jako obiekt w tablicy, z domyślnymi wartościami na początku i nadpisaniami na końcu. Głębokie scalanie jest zazwyczaj lepsze dla zagnieżdżonych struktur konfiguracyjnych.

Co z duplikowanymi kluczami w tym samym obiekcie?

Obiekty JSON nie mogą mieć duplikowanych kluczy. Jeśli je masz, parser zachowa tylko jeden. Najpierw zwaliduj za pomocą Walidatora JSON.

powiazane narzedzia

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.