Pretvarač JSON u CSV

Pretvorite JSON u CSV na mreži — besplatno, trenutno i privatno. Vaša datoteka se obrađuje u Vašem pregledniku i nikada se ne učitava na server.

CSV separator
Rezultat

Konvertovane datoteke i pregled će se pojaviti ovdje.

Spremno. Odaberite tabelarnu datoteku za konverziju.

Kako pretvaranje funkcioniše

  • Niz objekata postaje redovi i kolone; ugniježđeni objekti se ravnaju u kolone sa tačkom u nazivu, poput address.city.
  • Odaberite graničnik koji odgovara Vašim podacima — zarez, tačka-zarez ili tabulator.

Vaša tabela se konvertuje u Vašem pregledniku. Ništa se ne šalje na BroBroGo.

Često postavljana pitanja (FAQ)

Kako da pretvorim JSON u CSV?

Prevucite svoju JSON datoteku i kliknite na pretvaranje — CSV datoteka je spremna za preuzimanje za nekoliko sekundi, uz pregled rezultata. Sve se izvršava na Vašem uređaju.

Koliko veliku datoteku mogu pretvoriti?

Do 8 MB, 10.000 redova i 200 kolona po datoteci. Veće skupove podataka najbolje je prvo podijeliti na manje datoteke.

Šta ovaj alat radi i po čemu se razlikuje

Alat prima jedan JSON fajl (putem uploada ili prevlačenja) i pretvara ga u CSV fajl. Sva obrada se dešava u pregledniku – nijedan podatak se ne šalje na server. To je ključna razlika od većine online convertera koji podatke šalju u oblak i potencijalno ih čuvaju.

Ono što ovu stranicu čini suštinski drugačijom od, recimo, CSV‑u‑Excel ili JSON‑u‑Excel konverzija jeste smjer pretvorbe: iz hijerarhijskog, tipiziranog formata (JSON) u potpuno ravnu, netipiziranu tabelu (CSV). JSON podržava objekte, nizove, brojeve, logičke vrijednosti (true, false) i null, sve ugniježđeno po volji. CSV ne poznaje tipove, nema ugniježđenja, nema više listova. Da bi se taj jaz premostio, alat primjenjuje flattening – spljoštenje pomoću dot‑path notacije (npr. adresa.grad). Nizovi objekata postaju redovi, a ključevi objekata kolone. Nizovi nizova se prevode tako što svaki unutrašnji niz postaje red, a elementi kolone (bez ključeva).

Obrada je u potpunosti na klijentskoj strani: preglednik učitava fajl, parsira ga, spljošti i generiše CSV. To znači da nema kašnjenja usljed mrežnih zahtjeva i, što je još važnije, nema curenja podataka. Za osjetljive radne tokove (API ključevi, interne strukture, lični podaci) ovo je jedina ispravna arhitektura.

Kako JSON postaje CSV: tehničke osnove

JSON je format koji može sadržati proizvoljno duboko ugniježđene strukture. CSV je dvodimenzionalna tabela. Da bi konverzija uspjela, JSON mora biti table‑shaped – tabelarnog oblika. To znači da mora biti jedna od sljedećih struktura:

  • Niz objekata ([{}, {},...]) – svaki objekt postaje red, svi ključevi (uključujući ugniježđene) postaju kolone.
  • Niz nizova ([,,...]) – svaki unutrašnji niz postaje red, elementi postaju kolone.

Ako JSON nije ni jedno ni drugo (npr. samo jedan objekt, ili objekt s proizvoljnim ključevima bez niza), alat prikazuje grešku: „This JSON is invalid or not table‑shaped.”

Flattening pomoću dot‑path notacije

Uzmimo primjer:

[
  {
    "ime": "Ana",
    "adresa": {
      "grad": "Zagreb",
      "ulica": "Ilica 1"
    }
  }
]

Nakon konverzije (sa zarezom kao delimiterom) dobićemo tabelu:

ime adresa.grad adresa.ulica
Ana Zagreb Ilica 1

Ključ adresa.grad nastaje spajanjem putanje kroz objekt. Ovaj pristup je prirodan za JSON i lako ga je kasnije rastaviti u Excelu ako je potrebno. Međutim, gubi se hijerarhija: više ne znate da je adresa.grad dio objekta adresa. CSV to ne pamti.

Ako niz sadrži ugniježđene nizove kao u: ``, dobićete dvije kolone bez zaglavlja. Alat čuva svaki element na svojoj poziciji.

Zašto su delimiteri bitni i koje opcije nudimo

CSV nije striktno standardizovan. Najčešći delimiter je zarez, ali u zemljama gdje se decimalna tačka zamjenjuje zarezom (npr. u Bosni, Hrvatskoj, Njemačkoj) često se koristi tačka‑zarez da bi se izbjegla konfuzija. Tabulator je treća opcija, korisna za ručni uvoz u baze podataka ili alate koji preferiraju TSV.

Alat nudi tri delimitatora:

  • Comma (,)
  • Semicolon (;)
  • Tab

Izbor utiče na to kako će se CSV kasnije otvoriti u Excelu ili Google Sheetsu. Ako odaberete zarez, Excel će ga vjerovatno ispravno parsirati samo ako su regionalne postavke na engleski. U suprotnom, podaci unutar kolona koji sadrže zarez biće pogrešno protumačeni.

CSV quoting pravilo je standardno: ako vrijednost sadrži delimiter, dvostruke navodnike ili novi red, automatski se oblaže u dvostruke navodnike, a postojeći navodnici se udvostručuju. Alat to radi automatski – ne morate brinuti.

Gubitak tipova podataka i strukturne hijerarhije

Kad JSON postane CSV, sve vrijednosti postaju stringovi. Brojevi, logičke vrijednosti, null – sve se pretvara u tekst. To je neizbježno jer CSV nema način da označi da je ćelija broj, boolean ili prazna.

Konkretne posljedice

  • Brojevi: 123.45 postaje string "123.45" – u Excelu se može ponovo pretvoriti u broj, ali vodeće nule se gube. Na primjer, JSON broj 00123 postaje "123", jer JSON parsira broj bez vodećih nula (osim ako je zapisan kao string). Ako su vodeće nule važne (npr. poštanski brojevi, ID brojevi), treba ih čuvati kao stringove u izvornom JSON-u.
  • Logičke vrijednosti: true postaje string "true". Excel neće automatski prepoznati logičku vrijednost – morat ćete koristiti formulu ili ručno formatiranje.
  • null: postaje prazan string "". U izvornom JSON-u null znači "nema vrijednosti", dok prazan string može značiti i "prazna ćelija" i "nepostojeći podatak" – ovo je gubitak informacije.
  • Ugniježđeni objekti: potpuno se gube; ostaje samo dot‑path reprezentacija. Ne možete vratiti originalnu strukturu iz CSV-a bez dodatnih informacija.

Ovi gubici su inherentni prirodi formata. Ako vam je potreban format koji čuva tipove (npr. za bazu podataka), razmislite o JSON-u ili XML-u. CSV je za tabelarni prikaz i uvoz u spreadsheet alate.

Ograničenja i upozorenja: šta treba znati prije konverzije

Alat ima nekoliko tvrdih granica, koje su tu da spriječe pad preglednika ili predugo čekanje:

  • Veličina fajla: prijavljuje grešku „This file is too large. Use a file under ‹max›.” Maksimalna veličina fajla je 8 MB.
  • Broj redova: ako JSON ima više od 10.000 redova, prikazuje se greška „This table has more than ‹max› rows.” Isto vrijedi i za kolone: ako ima više od 200 kolona, prikazuje se „This table has more than ‹max› columns.” To je zato što pretjerano široke tabele (hiljade kolona) nisu praktične za CSV.
  • Vremensko ograničenje: konverzija koja traje predugo (obično zbog ogromnog ili duboko ugniježđenog JSON-a) prekida se porukom „This conversion is taking too long. Try a smaller file.” To se dešava ako konverzija traje duže od otprilike 12 sekundi.
  • Samo jedan fajl: ako pokušate učitati više fajlova istovremeno, dobićete „Choose one file first.”
  • Samo podržani format: ako fajl nije JSON, prikazuje se „Choose a CSV, JSON or XLSX file.”
  • Neuspjela konverzija: ako parsiranje JSON-a ne uspije, prikazuje se „Could not convert this file.” Mogući uzroci: nevalidan JSON, nepodržana struktura, memorijska greška.
  • Otkazivanje: ako korisnik prekine konverziju, pojavljuje se „Conversion cancelled.”

Važno je napomenuti da alat ne obrađuje formule niti izvršni kod. Ako JSON sadrži stringove koji izgledaju kao formule (npr. =SUM(...)), oni će biti prebačeni kao običan tekst – neće biti izračunati.

Automatsko citiranje

CSV quoting je automatski. Na primjer, vrijednost 10,5 (sa zarezom) u JSON-u biće zapisana kao "10,5" u CSV-u. Vrijednost koja već sadrži navodnike: On je rekao "zdravo" postaje "On je rekao ""zdravo""". Ovo je standard RFC 4180.

Ko treba da koristi ovaj alat i zašto

Alat je namijenjen osobama koje:

  • Imaju JSON fajl (npr. iz API odgovora, izvoz baze, konfiguracioni fajl) i trebaju ga otvoriti u Excelu, Google Sheetsu ili drugom spreadsheet programu.
  • Žele brzo spljoštiti ugniježđene podatke u tabelarni format za izvještavanje ili analizu.
  • Rade sa osjetljivim podacima i ne žele ih slati na server – sve ostaje lokalno.
  • Trebaju prilagoditi delimiter (npr. tačku‑zarez) zbog regionalnih postavki.
  • Brzo prototipiraju podatkovne tokove i trebaju ad‑hoc konverziju bez instalacije softvera.

Primjer: backend developer dobije JSON od API-ja sa listom korisnika, gdje svaki korisnik ima ugniježđeni objekat adresa. Umjesto da piše skriptu za flattening, jednostavno prevuče fajl u ovaj alat, podesi delimiter na zarez i preuzme CSV koji odmah može uvesti u Excel radi vizuelnog pregleda.

FAQ

1. Zašto mi se nakon konverzije broj 00123 pretvorio u 123?

Zato što JSON parsira 00123 kao broj 123 (vodeće nule se odbacuju). Da biste sačuvali vodeće nule, u JSON-u taj podatak mora biti string: "00123". Ako je već broj, alat ga ne može vratiti – gubitak je nepovratan.

2. Mogu li konvertovati JSON koji sadrži više liste objekata (npr. { "zaposleni": [...], "odjeli": [...] })?

Ne, jer to nije table‑shaped. Alat prihvata samo direktan niz objekata ili niz nizova. Za složenije strukture prvo ih morate transformisati (npr. izdvojiti jedan niz) prije konverzije.

3. Kako da znam koji delimiter da odaberem?

Ako ćete CSV otvarati u Excelu s engleskim lokalitetom – koristite zarez. Ako koristite bosanski/hrvatski/srpski lokalitet (gdje je decimalni zarez), odaberite tačku‑zarez. Tabulator koristite za uvoz u alate koji preferiraju TSV.

4. Šta se dešava ako JSON sadrži null vrijednost?

null se pretvara u prazan string. U CSV ćeliji neće biti ništa. Ako vam je važno razlikovati null od praznog stringa, razmislite o pretvorbi null u poseban tekst (npr. "N/A") prije konverzije.

5. Da li alat čuva moje podatke na serveru?

Ne. Sva obrada se odvija u vašem pregledniku. Fajl se učitava u memoriju, parsira, spljošti i CSV se generiše – nikakav HTTP zahtjev se ne šalje. Možete provjeriti u alatima za developere (Network tab) – neće biti outgoing poziva.

6. Zašto dobijam grešku „This file is too large” i kolika je granica?

Alat postavlja gornju granicu veličine fajla od 8 MB. To je zbog ograničenja memorije i vremena izvršavanja. Ako vam je fajl veći, pokušajte ga razdvojiti na manje dijelove ili koristiti CLI alate poput json2csv (Node.js).