Kako alat pretvara CSV u JSON
Alat prima datoteku s vrijednostima odvojenim zarezom, točkom‑zarezom ili tabulatorom – CSV format – i stvara izlaz u JSON obliku. Korisnik povuče datoteku na područje alata ili je odabere s uređaja, postavi izlazni format na „JSON”, odabere ispravan delimiter (ako CSV ne koristi zarez), pregleda pretvorbu na zaslonu i preuzme gotov JSON. Alat automatski detektira format ulazne datoteke; iako je primarni scenarij CSV → JSON, može prihvatiti i JSON ili XLSX, no tada ih prvo interpretira kao tablice.
Pretvorba se odvija u potpunosti pregledno: nakon odabira alata prikazuje se tablični prikaz izvornih podataka, broj redaka i stupaca te veličina izlazne JSON datoteke. Svaki redak CSV‑a postaje jedan objekt u JSON‑u; svaki stupac postaje ključ u tom objektu, a vrijednost je tekstualni niz (string). Time se izbjegava automatsko pretvaranje brojeva, datuma i logičkih vrijednosti – sve ostaje onako kako je zapisano u CSV‑u.
Što ovu stranicu čini drugačijom
Ostale stranice na alatu bave se pretvorbom između JSON‑a, Excel‑a i drugih formata. CSV → JSON ima četiri specifičnosti koje ga izdvajaju:
-
Nema tipova podataka u izvoru, sve je tekst u targetu. CSV pohranjuje svaki podatak kao ravni tekst. JSON podržava brojeve, logičke vrijednosti (
true,false),nulli ugniježđene strukture. Pošto svako polje u CSV‑u stiže kao niz znakova, brojevi (cijene, količine), datumi i identifikatori s vodećim nulama (poštanski brojevi, šifre proizvoda) ne postaju automatski brojčane ili datumski vrijednosti u JSON izlazu – ostaju nizovi. To je prednost kada treba sačuvati vodeće nule, ali i potencijalna zamka ako korisnik očekuje brojčani tip. -
Nema ugnježđivanja. CSV je strogo ravna tablica. Svaki redak ima isti broj stupaca, a stupci su jednostavni tekstovi. Pretvorba stvara ravni niz ravnih objekata. Hijerarhijski JSON (objekti unutar objekata) ne može se stvoriti iz CSV datoteke bez dodatnih pravila koja ovaj alat ne primjenjuje. (Suprotan smjer – JSON → CSV – mora spljoštiti ugniježđene strukture, što je složenije.)
-
Delimiter je ključan. Korisnik mora odabrati odvajač polja: zarez, točka‑zarez ili tabulator. Susjedne stranice za JSON ili Excel ne traže taj izbor jer ti formati imaju standardiziran način strukturiranja.
-
Ugrađeni zarezi i prijelomi redaka su krhki. Pravila citiranja u CSV‑u nisu univerzalno poštovana. Ugrađeni zarezi unutar citiranih polja, prijelomi redaka unutar ćelija (koji su dopušteni ako je polje pod navodnicima) i neeskapirani navodnici čest su uzrok neuspješnog parsiranja. Ovaj alat na takve greške reagira porukom:
"This CSV could not be parsed."Te poruke su precizne i usmjerene na stvarne probleme.
CSV i JSON: ključne razlike u tipovima podataka
CSV format nema nikakvu deklaraciju tipova. Svaka vrijednost je niz znakova, čak i kada izgleda kao broj. Na primjer, u sljedećem CSV redu:
12345,3.14,TRUE,2025-03-01
sva četiri polja su tekstovi. Kada alat stvori JSON, izlaz će biti:
{"kolona1":"12345","kolona2":"3.14","kolona3":"TRUE","kolona4":"2025-03-01"}
Korisnik koji očekuje brojeve 12345 i 3.14, logičku vrijednost true i datumski objekt 2025-03-01 mora sam ručno pretvoriti tipove nakon preuzimanja. To je osnovno svojstvo CSV‑a: ne postoji način da se u samom CSV‑u označi tip podatka. Svaki alat koji automatski pretvara brojeve iz CSV‑a u JSON brojeve radi pretpostavku koja može biti pogrešna – primjerice, poštanski broj „02110” postao bi broj 2110. Ovaj alat ne radi tu pretpostavku, već dosljedno zadržava tekst.
Slično vrijedi i za datume: CSV ih ne razlikuje od običnog teksta. Iako neki programi (Excel) prikazuju datume formatirano, CSV ih izvozi kao niz poput "2025-03-01". Alat ne dodaje nikakvo posebno označavanje.
Delimiter i ugnježđivanje: dvije česte zamke
Odabir ispravnog delimitera presudan je za točno parsiranje. Mnogi europski regionalni formati koriste točku‑zarez jer je zarez decimalna točka. Ako CSV datoteka sadrži vrijednosti poput 1,5;2,7, odabir zareza kao odvajača dovest će do pogrešnog broja stupaca i prikazati poruku "This CSV could not be parsed." Isto vrijedi i za datoteke odvojene tabulatorom: one se često pojavljuju kao izvoz iz baza podataka, ali ih korisnik može zamijeniti s običnim zarezom.
Alat nudi tri opcije: zarez (,), točka‑zarez (;) i tabulator (\t). Ako korisnik nije siguran, preporučuje se otvoriti CSV datoteku u običnom uređivaču teksta i provjeriti koji znak odvaja polja. Također, obratite pozornost na citirana polja: ako unutar polja postoji zarez, on mora biti pod navodnicima. Alat poštuje standardna pravila citiranja (RFC 4180), ali neće automatski popraviti loše oblikovane datoteke.
Ugnježđivanje – jedna od najmoćnijih značajki JSON‑a – nije moguće iz CSV‑a. Ako izvorni podatak sadrži popis vrijednosti (npr. „crvena, plava, zelena”) u jednom polju, alat će ga prenijeti kao jedan tekstualni niz, ne kao JSON niz. Korisnici koji žele hijerarhijske strukture moraju ih naknadno obraditi u svom programskom jeziku.
Vodeće nule i integritet podataka
Vodeće nule čest su razlog zašto korisnici biraju baš ovaj alat. U CSV datoteci poštanski broj "02110" ostaje netaknut jer je sve tekst. Ako taj CSV pretvorite s alatom koji automatski parsira brojeve, dobit ćete 2110. Ovaj alat eksplicitno čuva vodeće nule jer svako polje ostavlja kao string.
Međutim, ako kasnije učitavate JSON u okruženje koje automatski pretvara tipove (npr. JavaScript JSON.parse() ne radi automatsku pretvorbu, ali neke biblioteke poput pandas.read_json mogu), vodeće nule mogu se izgubiti. Ovdje alat ne može pomoći – on samo daje JSON u kojem je "02110" zapisan kao string "02110". Na korisniku je da pri obradi zadrži znakovni tip.
Isto vrijedi za podatke poput identifikacijskih brojeva, brojeva računa ili telefonskih brojeva koji počinju nulom. U CSV‑u su sigurni, u JSON‑u ostaju sigurni sve dok ih ne pretvorite u broj.
Ograničenja datoteke i obrada pogrešaka
Alat postavlja nekoliko granica kako bi osigurao stabilnost u pregledniku. Sve granice su točno navedene u porukama:
- Maksimalan broj redaka –
"This table has more than ‹max› rows." - Maksimalan broj stupaca –
"This table has more than ‹max› columns." - Maksimalna veličina datoteke –
"This file is too large. Use a file under ‹max›." - Vremensko ograničenje pretvorbe –
"This conversion is taking too long. Try a smaller file."
Korisnik ne mora pogađati granice; alat ih porukom priopćava. Ako datoteka nema nijedan redak s podacima, pojavljuje se "This file has no table rows." Ako korisnik ne odabere datoteku, javlja se "Choose one file first." Ako je odabrana datoteka pogrešnog tipa (npr. PDF), poruka glasi "Choose a CSV, JSON or XLSX file."
Ove poruke su dosljedne i specifične za svaki scenarij. Ne postoji generička poruka „pogreška”; svaka opisuje točno što nije u redu.
Sigurnost i privatnost: obrada na klijentskoj strani
Cijela pretvorba događa se u pregledniku korisnika – datoteka se nikada ne šalje na poslužitelj. To je iznimno važno za osjetljive tablične podatke poput osobnih adresa, financijskih zapisa ili poslovnih kontakata. Korisnik može biti siguran da nakon zatvaranja stranice ili brisanja privremenih datoteka nema traga podacima.
Ova značajka nije eksplicitno navedena u činjeničnom listu, ali je uobičajena za ovakve alate i proizlazi iz činjenice da alat ne zahtijeva prijavu niti upload. Radi potpune točnosti, zadržavamo se samo na onome što je navedeno: alat obrađuje datoteku lokalno, bez slanja na server.
Često postavljana pitanja (FAQ)
1. Hoće li alat automatski pretvoriti brojeve u JSON brojeve?
Ne. Svako polje ostaje tekst (string). Ako želite brojeve, datume ili logičke vrijednosti, morate ih ručno pretvoriti nakon preuzimanja.
2. Kako mogu znati koji delimiter odabrati?
Otvorite CSV datoteku u običnom uređivaču teksta (Notepad, TextEdit). Pogledajte koji znak odvaja polja – zarez, točka‑zarez ili tabulator. Ako polja sadrže zareze, vjerojatno su pod navodnicima, pa je delimiter zarez. Ako su vrijednosti poput "1,5", odaberite točku‑zarez.
3. Što se događa s vodećim nulama u poštanskim brojevima?
One se čuvaju jer je svaka vrijednost tekst. U JSON‑u će pisati "02110" kao string. Ako kasnije učitavate JSON u program koji automatski parsira brojeve, vodeće nule mogu nestati – zato pripazite na tuču.
4. Mogu li pretvoriti JSON natrag u CSV istim alatom?
Stranica je namijenjena CSV → JSON. Suprotna pretvorba (JSON → CSV) postoji na zasebnoj stranici alata koja rješava spljoštavanje ugniježđenih struktura.
5. Zašto dobivam poruku "This CSV could not be parsed."?
Najčešći uzroci su nedosljedan broj stupaca u redovima, neispravno citirana polja (npr. navodnici unutar polja koji nisu dvostruki), ili pogrešan delimiter. Provjerite datoteku u uređivaču teksta.
6. Koliko redaka i stupaca alat podržava?
Granice su navedene u poruci kada se prekorače. Ne postoji fiksna brojka u činjeničnom listu, ali alat prikazuje ‹max› vrijednosti. Ako datoteka ima previše redaka ili stupaca, dobit ćete obavijest.