JSON til CSV konverter
Omdan dine JSON-data til en CSV-fil med rækker og kolonner, direkte i browseren. Ingen upload, ingen registrering, filen forlader aldrig din computer.
Kører i din browser — filen uploades ikke
Sådan gør du
Åbn din JSON-fil
Vælg filen fra din computer, eller indsæt JSON-teksten direkte. Filen behandles i browseren og sendes aldrig til en server.
Se strukturen som tabel
Værktøjet fladter automatisk indlejrede objekter og arrays ud og viser resultatet som en tabel, så du kan tjekke kolonnerne før du går videre.
Vælg skilletegn
Vælg om felterne skal adskilles med komma eller semikolon, alt efter hvilket system eller regneark filen skal bruges i.
Hent CSV-filen
Download den færdige fil, klar til import i regneark, database eller det system der ventede på data.
Om formaterne
JSON
JSON er et dataformat udviklet til at strukturere data hierarkisk med objekter, arrays og indlejrede værdier. Det bruges typisk af API'er, konfigurationsfiler og databaser som MongoDB. Formatet er velegnet til komplekse, forgrenede data, men passer ikke naturligt ind i rækker og kolonner.
CSV
CSV er et fladt tabelformat, hvor hver linje er en række, og værdierne adskilles af komma eller semikolon. Det er det format de fleste regnearksprogrammer og importfunktioner i eksterne systemer forventer at modtage. Næsten alle systemer, der arbejder med tabeldata, kan læse CSV.
Ved konverteringen mister du hierarkiet: indlejrede objekter bliver til nye kolonner med punktum i navnet, og arrays kan enten samles i én celle eller kræve flere rækker, afhængigt af strukturen. Har din JSON-fil arrays med varierende længde fra post til post, kan resultatet blive skævt eller ufuldstændigt. Gem altid den oprindelige JSON-fil, hvis du senere får brug for den fulde datastruktur.
Fra API-svar til regneark
Du har typisk fået data fra et API-kald, en databaseeksport eller en fil fra et andet system, og nu skal dataene ind i et regneark eller et system der kun accepterer CSV som importformat. JSON er velegnet til at sende data mellem systemer, fordi det kan rumme dybe, forgrenede strukturer, men det gør det samtidig svært at læse direkte som en tabel. CSV derimod er bygget til rækker og kolonner, og det er det format langt de fleste regnearksprogrammer, CRM-systemer og importfunktioner forventer.
Konverteringen foregår i din browser. Filen sendes aldrig til en server, og der er ingen kø eller ventetid uanset filens størrelse, inden for browserens egne grænser.
Sådan fladtes indlejrede felter ud
Når et JSON-objekt indeholder et andet objekt inde i sig selv, kan CSV ikke gengive den struktur direkte, fordi hver celle i en CSV-fil kun kan indeholde én værdi. Løsningen er at flade strukturen ud: hver indlejret egenskab bliver til sin egen kolonne, og kolonnenavnet sammensættes af stien til værdien adskilt af punktum. Har din JSON eksempelvis et objekt kaldet person med et underobjekt kaldet adresse, ender du med kolonner som person.navn og person.adresse.by i stedet for én samlet person-kolonne.
Det betyder at antallet af kolonner i din CSV-fil afhænger af, hvor dybt dine objekter er indlejret, og hvor mange forskellige felter der forekommer på tværs af posterne. Mangler nogle poster et felt, som andre poster har, står den tilhørende celle bare tom i CSV-filen. Kig tabellen igennem, inden du henter filen, så du kan se om kolonnenavnene giver mening i den sammenhæng filen skal bruges.
Arrays kræver ekstra opmærksomhed
Arrays er der, hvor konverteringen oftest driller, fordi CSV ikke har noget begreb for en liste af værdier i én celle. Indeholder et array simple værdier som tal eller tekststrenge, samles de typisk i én celle adskilt af et tegn som semikolon, så du får hele listen med, men ikke som separate kolonner. Indeholder arrayet derimod objekter, for eksempel en liste af ordrelinjer under en kunde, bliver resultatet mere komplekst, fordi hver ordrelinje i princippet kræver sin egen række eller sit eget sæt kolonner.
Det praktiske problem opstår, når arrays har forskellig længde fra post til post. Har den ene kunde tre ordrelinjer og den anden kun én, kan tabellen enten få tomme celler eller et varierende antal kolonner, afhængigt af hvordan udfladningen håndterer det. Tjek altid tabelvisningen for de poster med de længste arrays, før du henter filen, så du ved om strukturen holder hele vejen igennem.
Datatyper i overgangen til CSV
CSV kender kun tekst. Det betyder at tal, booleaner og null-værdier fra din JSON-fil bliver skrevet som tekststrenge i den færdige fil, og det system der senere læser filen, skal selv fortolke dem korrekt igen. En værdi som false eller null i JSON bliver typisk til teksten »false« eller en tom celle, og det er værd at tjekke om det modtagende system forventer det samme.
Datoer er et sted, hvor det ofte går galt. JSON gemmer som regel datoer som tekststrenge i et bestemt format, og konverteringen ændrer som udgangspunkt ikke på det format. Forventer systemet du skal importere til, en anden datoformattering, skal du selv rette det til, enten før eller efter konverteringen.
Danske tegn og skilletegn
Æ, ø og å går normalt ikke tabt i konverteringen, så længe både din browser og det program du åbner filen i, arbejder med UTF-8. Problemer opstår typisk først, når filen åbnes i et program der forventer en anden tegnkodning, og bogstaverne pludselig vises forkert.
Skilletegnet har også betydning. Mange danske versioner af regnearksprogrammer forventer semikolon som skilletegn, fordi komma allerede bruges som decimaltegn, mens internationale systemer typisk forventer komma. Vælg skilletegn ud fra hvor filen skal bruges hen, ikke ud fra hvad der virker mest naturligt for dig.
Hvornår CSV ikke er det rigtige valg
Er din JSON-fil meget dybt indlejret, eller varierer strukturen meget fra post til post, kan resultatet blive en CSV-fil med rigtig mange kolonner, hvoraf mange står tomme for de fleste rækker. I de tilfælde giver det ofte mere mening at beholde JSON-formatet, hvis det system du arbejder videre i understøtter det, eller at forbehandle dataene så strukturen er mere ensartet, før du konverterer.
Gem altid den oprindelige JSON-fil. Konverteringen til CSV er i praksis en forenkling, og du kan ikke uden videre regne den tilbage til den nøjagtige samme struktur, hvis du senere får brug for hierarkiet igen.
Store datamængder og mange poster
Fordi konverteringen sker i din browser, er der en praktisk grænse for hvor store filer du kan arbejde med, uden at browseren begynder at hakke. Grænsen afhænger af hvilken browser og maskine du bruger, men filer på nogle få megabyte plejer ikke at være et problem, mens filer på over 50-100 MB kan tage tid at behandle eller i værste fald få browseren til at fryse.
Arbejder du med meget store eksporter, kan det være en god idé at dele filen op i mindre bidder, inden du konverterer den, eller at overveje et andet værktøj beregnet til store datamængder.
Ofte stillede spørgsmål
Hvordan håndteres indlejrede JSON-objekter, når de konverteres til CSV?
Indlejrede objekter fladtes ud til separate kolonner, hvor kolonnenavnet sammensættes af stien til værdien adskilt af punktum, for eksempel person.adresse.by. Jo dybere strukturen er, jo flere kolonner får den resulterende fil.
Hvad sker der med arrays under konverteringen?
Arrays med simple værdier samles typisk i én celle adskilt af et tegn som semikolon, mens arrays af objekter kan kræve flere rækker eller yderligere kolonner. Tjek altid tabelvisningen for de poster med flest elementer i arrayet, før du henter filen.
Bliver min JSON-fil sendt til en server?
Nej, hele konverteringen foregår i din browser på din egen maskine. Filen forlader aldrig din computer, og der gemmes ingen kopi hos Omdan.dk.
Skal jeg vælge komma eller semikolon som skilletegn?
Det afhænger af hvor filen skal bruges. Danske versioner af regnearksprogrammer forventer typisk semikolon, fordi komma bruges som decimaltegn, mens mange internationale systemer forventer komma.
Kan jeg konvertere JSON direkte til Excel i stedet for CSV?
Værktøjet laver en CSV-fil, som langt de fleste regnearksprogrammer, herunder Excel, kan åbne direkte eller importere via en guide. Vælg semikolon som skilletegn, hvis du åbner filen direkte i en dansk Excel-version.
Er der en grænse for, hvor stor en JSON-fil jeg kan konvertere?
Der er ingen fast grænse fra værktøjets side, men fordi arbejdet foregår i din browser, kan meget store filer på over 50-100 MB gøre browseren langsom. For de fleste API-eksporter og databaseudtræk er det ikke et problem.
Skal jeg gemme min oprindelige JSON-fil?
Ja. CSV-formatet kan ikke gengive den fulde hierarkiske struktur, så hvis du senere får brug for de indlejrede data igen, er det den oprindelige JSON-fil, du skal bruge.
Kan jeg konvertere en CSV-fil tilbage til JSON bagefter?
Ja, men resultatet vil ikke nødvendigvis matche den oprindelige struktur, fordi hierarkiet blev fladet ud undervejs. Skal du bruge samme struktur igen, er det bedst at tage udgangspunkt i den oprindelige JSON-fil.