JSON Samenvoegen
Meerdere JSON-objecten samenvoegen tot één
Invoer (Array van JSON-objecten)
Samengevoegde uitvoer
Wat is JSON Samenvoegen?
Je hebt een default.json-configuratie en een production.json die slechts een handvol instellingen overschrijft — en je hebt één samengevoegd resultaat nodig. Precies daarvoor is dit hulpmiddel. JSON samenvoegen betekent twee of meer objecten combineren tot één. Bij een ondiepe samenvoeging overschrijven latere objecten eerdere voor gedeelde sleutels. Bij een diepe samenvoeging (naar patronen zoals Object.assign) worden geneste objecten recursief gecombineerd in plaats van volledig vervangen.
Dit hulpmiddel verwacht een JSON-array van objecten. Het voegt ze in volgorde samen met ondiepe of diepe modus. Het resultaat is één object. Verwerking vindt plaats in uw browser.
Hoe dit hulpmiddel te gebruiken
JSON-array invoeren
Plak een JSON-array van objecten, bijv. [{"a": 1}, {"b": 2}, {"a": 3}]. De volgorde is belangrijk: latere objecten overschrijven eerdere bij conflicterende sleutels. Gebruik Diep of Ondiep om het samenvoeggedrag te kiezen.
Uitvoer controleren
Het rechterpaneel toont het samengevoegde object. In ondiepe modus geeft {"a": 1, "b": 2} samengevoegd met {"a": 3} het resultaat {"a": 3, "b": 2}. In diepe modus worden geneste objecten recursief samengevoegd.
Kopiëren of downloaden
Gebruik Kopiëren of Downloaden om het resultaat te krijgen. Voor opmaak gebruik de JSON Formatter. Voor validatie gebruik de JSON Validator.
Waar JSON Samenvoegen helpt
Het samenvoegen van configuratiebestanden is een veelvoorkomend gebruik. U heeft default.json en production.json; u wilt ze samenvoegen zodat production alleen de benodigde sleutels overschrijft. Diepe samenvoeging combineert geneste standaardwaarden recursief. Voor API-antwoorden uit meerdere bronnen, of bij het bouwen van objecten uit een basissjabloon met omgevingsspecifieke overschrijvingen, levert samenvoegen één gecombineerd object. De JSON Formatter helpt het resultaat op te maken voor leesbaarheid.
JSON Samenvoeg-voorbeelden
Hier is een voorbeeld van het samenvoegen van twee abonneeconfiguratie-objecten. Latere objecten overschrijven eerdere bij conflicterende sleutels.
Voorbeeld: Abonneeconfiguraties samenvoegen
Invoer (array van objecten om samen te voegen):
Samengevoegde uitvoer:
Ondiepe vs. diepe samenvoeging
Ondiepe samenvoeging: als beide objecten een sleutel hebben, vervangt de waarde van het latere object het eerdere volledig. Geneste objecten worden niet samengevoegd; ze worden vervangen. Diepe samenvoeging: geneste objecten worden recursief samengevoegd. Dus {"a": {"b": 1}} samengevoegd met {"a": {"c": 2}} geeft {"a": {"b": 1, "c": 2}} in diepe modus, maar {"a": {"c": 2}} in ondiepe modus. Object.assign in JavaScript doet een ondiepe samenvoeging. Bibliotheken zoals Lodash merge doen diepe samenvoegingen.
De JSON-specificatie definieert objecten als ongeordende verzamelingen van sleutel-waardeparen. De samenvoegvolgorde is belangrijk: latere waarden overschrijven eerdere. Voor API-antwoorden van Postman of fetch is het samenvoegen van configuraties of combineren van standaardwaarden met overschrijvingen gebruikelijk. De formele standaard is RFC 8259. De MDN JSON-gids behandelt parsen en stringify.
Veelgestelde vragen
Hoe voeg ik twee JSON-objecten samen in JavaScript?
Voor een ondiepe samenvoeging gebruik je de spread-operator: {...objA, ...objB} of Object.assign({}, objA, objB). Voor een diepe samenvoeging gebruik je een bibliotheek zoals Lodash _.merge(). Dit hulpmiddel behandelt beide gevallen zonder code.
Wat is het verschil tussen diepe en ondiepe samenvoeging?
Bij een ondiepe samenvoeging vervangt de waarde van het latere object het eerdere volledig als beide objecten dezelfde sleutel hebben — inclusief geneste objecten. Bij een diepe samenvoeging worden geneste objecten recursief gecombineerd. Zo geeft {"a": {"b": 1}} diep samengevoegd met {"a": {"c": 2}} het resultaat {"a": {"b": 1, "c": 2}} — beide sleutels blijven behouden.
Hoe voeg ik JSON-configuratiebestanden samen met overschrijvingen?
Plak je configuraties als een JSON-array met standaardwaarden eerst en overschrijvingen als laatste: [defaultConfig, productionConfig]. Gebruik diepe samenvoeging als je configuraties geneste objecten hebben.
Hoe worden arrays in JSON-objecten behandeld tijdens het samenvoegen?
Arrays worden vervangen, niet aaneengeschakeld. Als object A "items": [1, 2] heeft en object B "items": [3], heeft het resultaat "items": [3].
Worden mijn gegevens naar een server gestuurd?
Nee. Het samenvoegen verloopt volledig in je browser. Je JSON verlaat je apparaat nooit.
Gerelateerde hulpmiddelen
Voor JSON-syntax zie json.org en RFC 8259. Voor samenvoegen in JavaScript zie MDN Object.assign en spread-syntax. Voor diepe samenvoeging in Lodash zie de merge-functie. Voor MDN JSON-overzicht. Zie ook jq en Postman.