Invoer (Array van JSON-objecten)

Samengevoegde uitvoer

Wat is JSON Samenvoegen?

JSON samenvoegen betekent twee of meer objecten combineren tot één. Bij een ondiepe samenvoeging overschrijven latere objecten eerdere voor sleutels die in beide bestaan. Bij een diepe samenvoeging worden geneste objecten recursief samengevoegd in plaats van vervangen. Dit is nuttig bij het samenvoegen van configuratiebestanden, combineren van API-antwoorden of bouwen van objecten uit standaardwaarden en overschrijvingen.

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

1

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.

2

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.

3

Kopiëren of downloaden

Gebruik <strong>Kopiëren</strong> of <strong>Downloaden</strong> 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 <code>default.json</code> en <code>production.json</code>; 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):

Invoer

Samengevoegde uitvoer:

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

Wat als ik twee aparte objecten heb, geen array?

Wikkel ze in een array: [{"a": 1}, {"b": 2}]. Het hulpmiddel verwacht een array van objecten.

Hoe worden arrays behandeld?

In de meeste samenvoegimplementaties worden arrays vervangen, niet aaneengeschakeld. Als object A "items": [1, 2] heeft en object B "items": [3], heeft het resultaat typisch "items": [3]. Controleer de uitvoer van het hulpmiddel om te bevestigen.

Worden mijn gegevens ergens naartoe gestuurd?

Nee. Samenvoegen vindt plaats in uw browser.

Kan ik configuratiebestanden samenvoegen?

Ja. Plak elke configuratie als object in de array, met standaardwaarden eerst en overschrijvingen laatst. Diepe samenvoeging is meestal beter voor geneste configuratiestructuren.

Hoe zit het met dubbele sleutels in hetzelfde object?

JSON-objecten kunnen geen dubbele sleutels hebben. Als u ze heeft, houdt de parser er slechts één. Valideer eerst met de JSON Validator.

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.