Hopp til innhold

CSV til JSON Converter - Gratis Online Filkonverteringsverktøy

Konverter CSV til JSON og JSON til CSV umiddelbart i nettleseren din. Sikker, rask datakonvertering med forhåndsvisning og nedlasting. Ingen opplastinger nødvendig.

CSV/JSON Filkonverteringsverktøy

Konverter enkelt mellom CSV- og JSON-formater. Last opp filen din, forhåndsvis dataene og last ned det konverterte resultatet.

CSV til JSON-konverteringsverktøy

JSON til CSV-konverteringsverktøy

Lastekalkulator...
📚

Dokumentasjon

Hva er et verktøy for å konvertere CSV til JSON?

En CSV-til-JSON-konverterer er et verktøy som endrer data fra CSV-format (kommaseparerte verdier) til JSON-format (JavaScript Object Notation), eller motsatt. Denne konvertereren kjører helt inne i nettleseren. Den sender aldri den opplastede filen til en server, så dataene forblir på brukerens enhet.

CSV er et ren tekst-format som brukes til å lagre tabeller, for eksempel regneark eksportert fra Excel eller Google Sheets. JSON er et tekstformat bygget opp av nøkkel-verdi-par, og brukes mye til å flytte data mellom nettapplikasjoner og API-er. Siden de to formatene organiserer data på ulike måter, krever konvertering mellom dem et definert sett med regler, som beskrives nedenfor.

Slik konverterer du CSV til JSON

  1. Klikk på «Last opp CSV-fil» og velg en fil av typen .csv fra enheten.
  2. Verktøyet viser en forhåndsvisning av innholdet i råfilen.
  3. Klikk på «Konverter til JSON». Verktøyet leser den første linjen som kolonneoverskrifter og gjør alle andre linjer om til ett JSON-objekt hver.
  4. Resultatet vises i forhåndsvisningen av utdataene, formatert med innrykk.
  5. Klikk på «Last ned JSON» for å lagre det som en fil av typen .json, eller på «Kopier JSON» for å kopiere teksten.

Slik konverterer du JSON til CSV

  1. Klikk på «Last opp JSON-fil» og velg en fil av typen .json. Filen må inneholde en JSON-array med objekter, for eksempel [{"Name":"Ann"},{"Name":"Bo"}].
  2. Verktøyet viser en forhåndsvisning av den rå JSON-teksten.
  3. Klikk på «Konverter til CSV». Verktøyet samler alle nøklene som brukes på tvers av objektene, og gjør hver nøkkel om til en kolonne.
  4. Resultatet vises i forhåndsvisningen av utdataene som CSV-tekst.
  5. Klikk på «Last ned CSV» for å lagre det som en fil av typen .csv, eller på «Kopier CSV» for å kopiere teksten.

Det er ingen opplastingsbegrensninger håndhevet av en server, fordi ingen av dataene forlater nettleseren. En svært stor fil kan likevel gjøre nettleserfanen tregere, siden hele filen holdes i minnet mens den konverteres.

Regler for konvertering fra CSV til JSON

Konvertereren leser den første raden i filen som kolonnenavn. Hver påfølgende rad blir ett JSON-objekt, med kolonnenavnene som nøkler. En rad med flere verdier enn det finnes overskrifter, får ekstra nøkler navngitt etter deres absolutte plassering i raden. Med 3 overskrifter får altså en fjerde verdi nøkkelen field_4, en femte får field_5, og så videre, slik at ingen data går tapt. En rad med færre verdier får tomme strenger for de manglende nøklene. Hvis to overskrifter har samme navn, får den andre et suffiks, slik at a, a blir nøklene a og a_2.

Konvertereren følger CSV-reglene som er definert i RFC 4180, den tekniske standarden for formatet. Et komma inne i et felt behandles bare som en verdi i dette feltet, ikke som et kolonneskille, hvis feltet står mellom doble anførselstegn, for eksempel "Smith, John". Et linjeskift mellom anførselstegnene beholdes som en del av verdien i stedet for å bli behandlet som en ny rad. To doble anførselstegn inne i et felt med anførselstegn representerer ett bokstavelig anførselstegn.

Bare komma gjenkjennes som kolonneskilletegn; verktøyet oppdager eller støtter ikke semikolon, tabulatorer eller andre skilletegn.

Hver verdi kontrolleres og konverteres til en datatype:

  • En verdi skrevet som et vanlig tall, for eksempel 42 eller -3.5, blir et JSON-tall.
  • Teksten true eller false (uansett bruk av store og små bokstaver) blir en JSON-boolsk verdi.
  • Alt annet forblir en JSON-streng, inkludert tomme celler, som blir tomme strenger.
  • Et tall med en innledende null, for eksempel 00512, forblir en streng, fordi den innledende nullen ofte har betydning, som i et postnummer eller et ID-nummer.
  • Et tall godtas bare hvis det gir nøyaktig samme tekst når det skrives ut igjen. Lange heltall over 9,007,199,254,740,991, det største heltallet et JavaScript-tall kan lagre nøyaktig, består vanligvis ikke denne kontrollen og forblir strenger, slik at ingen sifre går tapt.
  • En verdi som filen allerede har satt mellom anførselstegn, beholdes alltid som en streng, selv om den ser ut som et tall, siden anførselstegn behandles som en markering fra forfatteren om at verdien er tekst.

Tomme linjer i filen hoppes over og gir ikke opphav til tomme objekter.

Regler for konvertering fra JSON til CSV

Konvertereren ser på hvert objekt i matrisen og samler hele settet med nøkler som brukes i dem. Disse nøklene blir CSV-kolonneoverskriftene, i den rekkefølgen de først forekommer. Hvis ett objekt mangler en nøkkel som et annet objekt har, blir cellen stående tom i stedet for at det oppstår en feil.

JSON til CSV flater ikke ut nestede objekter til separate kolonner. En verdi som selv er et objekt eller en matrise, skrives tilbake som JSON-tekst i én enkelt celle, slik at {"b": 1} blir cellen {"b":1} og [1, 2] blir cellen [1,2]. Ingenting går tapt, men den nestede delen forblir i én kolonne i stedet for å bli delt opp. Gjør nestet JSON om til en flat struktur manuelt først hvis hver del skal ha sin egen kolonne.

En verdi lik null, og en nøkkel som finnes i ett objekt, men mangler i et annet, gir begge en tom celle.

En celleverdi som inneholder et komma, et anførselstegn eller et linjeskift, settes mellom doble anførselstegn i utdataene, og eventuelle anførselstegn i verdien dobles, i samsvar med CSV-escape-regelen ovenfor.

Inndataene i JSON-format må være en matrise, og hvert element i den må være et objekt. Et tall, en streng, null eller en nestet matrise i stedet for et objekt gir feilen «JSON må være en matrise med objekter». En matrise uten elementer gir feilen «JSON-matrisen er tom. Legg til minst ett objekt som skal konverteres.» En opplastet fil uten innhold gir feilen «Den opplastede filen er tom.»

Regneeksempel

CSV-filen før konvertering:

1Name,Age,Member
2Ann Lee,29,true
3"Bo, Jr.",7,false
4

Konvertering til JSON gir:

1[
2  {
3    "Name": "Ann Lee",
4    "Age": 29,
5    "Member": true
6  },
7  {
8    "Name": "Bo, Jr.",
9    "Age": 7,
10    "Member": false
11  }
12]
13

Merk at "Bo, Jr." beholdt kommaet fordi feltet sto mellom anførselstegn i kildefilen, og at Age og Member ble til henholdsvis et tall og en boolsk verdi.

Når den samme JSON-en konverteres tilbake til CSV, med en ekstra rad der Age mangler, blir resultatet:

1Name,Age,Member
2Ann Lee,29,true
3"Bo, Jr.",7,false
4Cy Tan,,true
5

Den manglende verdien Age blir en tom celle, og kommaet i "Bo, Jr." gjør at feltet settes mellom anførselstegn igjen ved konverteringen tilbake.

Vanlige bruksområder

  • Dataanalyse: å gjøre en CSV-eksport fra et regneark eller et analyseverktøy om til JSON slik at den kan behandles med JavaScript, og deretter konvertere resultatene tilbake til CSV for en rapport.
  • API-testing: en utvikler som lager et API som godtar CSV-opplastinger, kan konvertere eksempelfiler til JSON for å kontrollere at en parser produserer de forventede objektene.
  • Datamigrering: å flytte poster fra et system som eksporterer CSV, til et system som bare godtar JSON, eller motsatt.
  • Rask inspeksjon: å gjøre en JSON-fil om til en tabellignende CSV-fil for å lese den enklere, eller motsatt.

Programmeringsbiblioteker tilbyr den samme konverteringen for større eller gjentatte jobber, for eksempel modulene csv og json i Python, eller pandas. Kommandolinjeverktøy som csvkit og jq håndterer konvertering og filtrering fra en terminal. Disse alternativene egner seg for satsvis behandling, mens nettleserverktøyet passer for en enkelt fil uten installasjon.

Ofte stilte spørsmål

Sendes den opplastede filen til en server? Nei. Konverteringen kjører i JavaScript inne i nettleserfanen. Filen leses fra den lokale enheten og overføres aldri.

Støtter konvertereren andre skilletegn enn komma, for eksempel semikolon eller tabulator? Nei. Den nåværende versjonen leser bare kommaseparerte verdier. En fil som bruker et annet skilletegn, må først konverteres til kommaseparert format, for eksempel ved å erstatte skilletegnet i et tekstredigeringsprogram.

Hvorfor ble et tall som 00512 stående som en tekststreng i JSON-utdataene? Innledende nuller har vanligvis betydning, som i et postnummer, så konvertereren beholder verdien som en streng i stedet for å gjøre den om til tallet 512, noe som ville fjernet nullen.

Hva skjer hvis jeg konverterer JSON som inneholder nestede objekter? Det nestede objektet skrives som JSON-tekst i én enkelt celle, for eksempel {"b":1}. Dataene bevares, men de deles ikke opp i separate kolonner. Gjør nestede data om til en flat struktur først hvis hvert felt skal ha sin egen kolonne.

Hva om JSON-en min ikke er en matrise med objekter? Verktøyet viser en feil og konverterer ingenting. Inndataene må være en JSON-matrise der hvert element er et objekt, for eksempel [{"a":1},{"a":2}].

Må den første raden i en CSV-fil alltid være en overskriftsrad? Ja. Konvertereren behandler alltid den første raden som kolonnenavn. En fil uten overskriftsrad får den første dataraden feiltolket som overskrifter.

Referanser

  1. Shafranovich, Y. "Common Format and MIME Type for Comma-Separated Values (CSV) Files." RFC 4180, IETF, oktober 2005. https://www.rfc-editor.org/rfc/rfc4180
  2. Bray, T., red. "The JavaScript Object Notation (JSON) Data Interchange Format." RFC 8259, IETF, desember 2017. https://www.rfc-editor.org/rfc/rfc8259
  3. "Working with JSON." MDN Web Docs, Mozilla. https://developer.mozilla.org/en-US/docs/Learn_web_development/Core/Scripting/JSON