CSV-ből JSON-ba Konvertáló - Ingyenes Online Fájl Konvertáló Eszköz
Alakítsa át a CSV-t JSON-ná és a JSON-t CSV-vé azonnal a böngészőjében. Biztonságos, gyors adatkonverzió előnézettel és letöltéssel. Nem szükséges fájlfeltöltés.
CSV/JSON Fájl Konvertáló
Könnyedén konvertáljon CSV és JSON formátumok között. Töltse fel a fájlt, tekintse meg az előnézetet, és töltse le a konvertált eredményt.
CSV-ből JSON-ba Konvertáló
JSON-ból CSV-be Konvertáló
Dokumentáció
Mi az a CSV–JSON-konverter?
A CSV–JSON-konverter olyan eszköz, amely a CSV (vesszővel elválasztott értékek) formátumú adatokat JSON (JavaScript Object Notation) formátumú adatokká alakítja, illetve fordítva. A konverter teljes egészében a webböngészőben fut. A feltöltött fájlt soha nem küldi szerverre, ezért az adatok a felhasználó eszközén maradnak.
A CSV egyszerű szöveges formátum táblázatok, például Excelből vagy Google Táblázatokból exportált munkalapok tárolására. A JSON kulcs-érték párokból felépülő szöveges formátum, amelyet széles körben használnak adatok webalkalmazások és API-k közötti továbbítására. Mivel a két formátum eltérő módon rendezi az adatokat, az átalakításhoz meghatározott szabályrendszerre van szükség, amelyet az alábbiak ismertetnek.
CSV átalakítása JSON-ná
- Kattintson a „CSV-fájl feltöltése” gombra, majd válasszon egy
.csvfájlt az eszközről. - Az eszköz megjeleníti a nyers fájltartalom előnézetét.
- Kattintson a „Konvertálás JSON-ná” gombra. Az eszköz az első sort oszlopfejlécként olvassa be, és minden további sorból egy JSON-objektumot készít.
- Az eredmény behúzással formázva jelenik meg a kimeneti előnézetben.
- Kattintson a „JSON letöltése” gombra az eredmény
.jsonfájlként való mentéséhez, vagy a „JSON másolása” gombra a szöveg másolásához.
JSON átalakítása CSV-vé
- Kattintson a „JSON-fájl feltöltése” gombra, majd válasszon egy
.jsonfájlt. A fájlnak objektumokból álló JSON-tömböt kell tartalmaznia, például:[{"Name":"Ann"},{"Name":"Bo"}]. - Az eszköz megjeleníti a nyers JSON-szöveg előnézetét.
- Kattintson a „Konvertálás CSV-vé” gombra. Az eszköz összegyűjti az összes objektumban használt kulcsot, és mindegyikből egy oszlopot készít.
- Az eredmény CSV-szövegként jelenik meg a kimeneti előnézetben.
- Kattintson a „CSV letöltése” gombra az eredmény
.csvfájlként való mentéséhez, vagy a „CSV másolása” gombra a szöveg másolásához.
Szerver által előírt feltöltési korlátozás nincs, mivel az adatok egyike sem hagyja el a böngészőt. Egy nagyon nagy fájl ennek ellenére lelassíthatja a böngészőlapot, mert az átalakítás közben a teljes fájl a memóriában marad.
A CSV–JSON-átalakítás szabályai
A konverter a fájl első sorát oszlopnevekként olvassa be. Minden következő sorból egy JSON-objektum lesz, amelyben az oszlopnevek a kulcsok. Ha egy sorban több érték szerepel, mint ahány fejléc van, akkor a többletértékek a sorban elfoglalt abszolút pozíciójuk alapján kapnak kulcsot: így 3 fejléc esetén a negyedik érték kulcsa field_4, az ötödiké field_5 és így tovább, vagyis adat nem vész el. Ha egy sorban kevesebb érték van, a hiányzó kulcsokhoz üres karakterlánc tartozik. Ha két fejléc neve azonos, a másodikhoz utótag kerül, így a, a kulcsai a és a_2 lesznek.
A konverter az RFC 4180 szabványban meghatározott CSV-szabályokat követi; ez a formátum műszaki szabványa. Egy mezőben szereplő vessző csak akkor számít az adott mező értékének, és nem oszlopelválasztónak, ha a mezőt dupla idézőjelek veszik körül, például "Smith, John". Az idézőjelek közötti sortörés az érték része marad, és nem számít új sornak. Az idézőjelek közötti két dupla idézőjel egyetlen szó szerinti idézőjelet jelöl.
Oszlopelválasztóként csak a vesszőt ismeri fel; az eszköz nem észleli és nem támogatja a pontosvesszőt, a tabulátort vagy más elválasztókat.
A rendszer minden értéket megvizsgál, és típussá alakít:
- Egy egyszerű számként megadott érték, például
42vagy-3.5, JSON-számmá alakul. - A
truevagyfalseszöveg (bármilyen kis- és nagybetűs formában) JSON-boolean értékké alakul. - Minden más JSON-karakterláncként marad meg, beleértve az üres cellákat is, amelyekből üres karakterlánc lesz.
- A kezdő nullát tartalmazó szám, például
00512, karakterláncként marad meg, mert a kezdő nulla gyakran jelentéssel bír, például irányítószám vagy azonosító esetén. - A rendszer csak akkor fogad el egy értéket számként, ha annak visszaírásakor pontosan ugyanaz a szöveg keletkezik. A 9,007,199,254,740,991 értéknél nagyobb egész számok, vagyis a JavaScript által pontosan tárolható legnagyobb egész szám felettiek, rendszerint nem mennek át ezen az ellenőrzésen, és karakterláncként maradnak meg, így egyetlen számjegy sem vész el.
- A fájl által idézőjelek közé zárt érték mindig karakterláncként marad meg, még akkor is, ha számnak látszik, mivel az idézőjelek használatát a rendszer úgy értelmezi, hogy a szerző szövegként jelölte meg az értéket.
A fájl üres sorait a rendszer kihagyja, és ezekből nem készülnek üres objektumok.
A JSON–CSV-átalakítás szabályai
A konverter a tömb minden objektumát megvizsgálja, és összegyűjti az összes objektumban használt kulcsok teljes halmazát. Ezek a kulcsok lesznek a CSV oszlopfejlécei az első előfordulásuk sorrendjében. Ha az egyik objektumból hiányzik egy olyan kulcs, amely egy másik objektumban szerepel, a hozzá tartozó cella üres marad, és nem keletkezik hiba.
A JSON–CSV-átalakítás nem bontja ki a beágyazott objektumokat külön oszlopokra. Ha maga az érték objektum vagy tömb, akkor egyetlen cellába JSON-szövegként kerül vissza, így {"b": 1} értékből {"b":1} cella, [1, 2] értékből pedig [1,2] cella lesz. Semmi sem vész el, de a beágyazott rész egy oszlopban marad ahelyett, hogy külön oszlopokra bomlana. Ha minden résznek saját oszlopra van szüksége, előbb kézzel bontsa ki a beágyazott JSON-t.
Az null érték, valamint az a kulcs, amely az egyik objektumban szerepel, a másikban viszont hiányzik, egyaránt üres cellát eredményez.
A vesszőt, idézőjelet vagy sortörést tartalmazó cellaértéket a kimenetben dupla idézőjelek közé zárja a rendszer, és a benne szereplő idézőjeleket megkettőzi, összhangban a fent ismertetett CSV-escape-szabállyal.
A bemeneti JSON-nak tömbnek kell lennie, és minden elemének objektumnak kell lennie. Ha objektum helyett szám, karakterlánc, null vagy beágyazott tömb szerepel, a rendszer a „A JSON-nak objektumok tömbjének kell lennie” hibát jelzi. A teljesen üres tömb esetén a hibaüzenet: „A JSON-tömb üres. Az átalakításhoz adjon hozzá legalább egy objektumot.” A tartalom nélküli feltöltött fájl esetén a hibaüzenet: „A feltöltött fájl üres.”
Megoldott példa
Kiinduló CSV-fájl:
1Name,Age,Member
2Ann Lee,29,true
3"Bo, Jr.",7,false
4JSON-ná alakítva az eredmény:
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]
13Vegye figyelembe, hogy a "Bo, Jr." értékben megmaradt a vessző, mert a mezőt a forrásfájlban idézőjelek vették körül, az Age és Member pedig számmá, illetve logikai értékké alakult.
Ugyanennek a JSON-nak a visszaalakítása CSV-vé, egy olyan új sorral, amelyben hiányzik az Age érték:
1Name,Age,Member
2Ann Lee,29,true
3"Bo, Jr.",7,false
4Cy Tan,,true
5A hiányzó Age érték üres cellává válik, a "Bo, Jr." értékben lévő vessző pedig a kimenet során ismét idézőjelek közé zárja a mezőt.
Gyakori felhasználások
- Adatelemzés: egy táblázatkezelőből vagy elemzőeszközből exportált CSV JSON-ná alakítása JavaScripttel történő feldolgozáshoz, majd az eredmény CSV-vé alakítása jelentés készítéséhez.
- API-tesztelés: ha egy API-t fejlesztő elfogad CSV-feltöltéseket, a mintafájlokat JSON-ná alakíthatja annak ellenőrzésére, hogy az értelmező a várt objektumokat állítja-e elő.
- Adatmigráció: rekordok áthelyezése egy CSV-t exportáló rendszerből egy olyan rendszerbe, amely csak JSON-t fogad el, vagy fordítva.
- Gyors áttekintés: egy JSON-fájl táblaszerű CSV-vé alakítása a könnyebb olvasás érdekében, vagy fordítva.
Programozási könyvtárak ugyanezt az átalakítást nagyobb vagy ismétlődő feladatokhoz is biztosítják, például a Python csv és json moduljai, illetve a pandas. A parancssori eszközök, például a csvkit és a jq, terminálból végzik az átalakítást és a szűrést. Ezek a lehetőségek kötegelt feldolgozásra alkalmasak; ez a böngészőben működő eszköz egyetlen fájl telepítés nélküli feldolgozására szolgál.
Gyakran ismételt kérdések
A feltöltött fájlt elküldi a rendszer egy szerverre? Nem. Az átalakítás JavaScriptben, a böngészőlapon belül fut. A rendszer a fájlt a helyi eszközről olvassa be, és soha nem továbbítja.
Támogat az eszköz a vesszőtől eltérő elválasztókat, például pontosvesszőt vagy tabulátort? Nem. A jelenlegi verzió csak vesszővel elválasztott értékeket olvas be. Az eltérő elválasztót használó fájlt előbb vesszővel elválasztott formátumúvá kell alakítani, például az elválasztó szövegszerkesztőben történő lecserélésével.
Miért maradt szöveges karakterlánc a JSON-kimenetben egy olyan szám, mint a 00512?
A kezdő nullák általában jelentéssel bírnak, például irányítószám esetén, ezért a konverter karakterláncként tartja meg az értéket ahelyett, hogy 512 számmá alakítaná, amivel elveszne a nulla.
Mi történik, ha beágyazott objektumokat tartalmazó JSON-t alakítok át?
A beágyazott objektum JSON-szövegként, egyetlen cellában jelenik meg, például {"b":1}. Az adatok megmaradnak, de nem bomlanak külön oszlopokra. Ha minden mezőnek saját oszlopra van szüksége, előbb bontsa ki a beágyazott adatokat.
Mi történik, ha a JSON-om nem objektumok tömbje?
Az eszköz hibát jelez, és nem végez átalakítást. A bemenetnek olyan JSON-tömbnek kell lennie, amelynek minden eleme objektum, például [{"a":1},{"a":2}].
A CSV-fájl első sorának mindig fejlécsornak kell lennie? Igen. A konverter mindig az első sort tekinti oszlopneveknek. Fejlécsor nélküli fájl esetén az első adatsort tévesen fejlécként olvassa be.
Hivatkozások
- Shafranovich, Y. "Common Format and MIME Type for Comma-Separated Values (CSV) Files." RFC 4180, IETF, 2005 október. https://www.rfc-editor.org/rfc/rfc4180
- Bray, T., szerk. "The JavaScript Object Notation (JSON) Data Interchange Format." RFC 8259, IETF, 2017 december. https://www.rfc-editor.org/rfc/rfc8259
- "Working with JSON." MDN Web Docs, Mozilla. https://developer.mozilla.org/en-US/docs/Learn_web_development/Core/Scripting/JSON