Što je ovaj alat?
API-ji i baze podataka obično vraćaju podatke kao JSON, ali proračunske tablice, Excel, Google Sheets i većina alata za uvoz podataka očekuju CSV. Ovaj alat premošćuje taj jaz: zalijepite polje JSON objekata (poput API odgovora), a on gradi CSV s jednim stupcem po jedinstvenom ključu i jednim retkom po objektu.
Pretvorba obrađuje detalje koji lome naivne pristupe: vrijednosti koje sadrže zareze ili navodnike pravilno se escapiraju, nedostajuća polja postaju prazne ćelije umjesto da sruše pretvorbu, a ugniježđeni objekti ili polja unutar polja serijaliziraju se kao JSON string u toj ćeliji umjesto da se tiho izbace.
Izlaz prati pravila navodnika iz RFC 4180, de facto CSV standarda: bilo koje polje koje sadrži zarez, dvostruki navodnik ili prijelom retka omotava se u dvostruke navodnike, a navodnici unutar polja udvostručuju se. To sprječava da vrijednost poput New York, NY tiho ne padne u dva stupca.
Zašto ga koristiti?
- Automatsko otkrivanje zaglavlja — popis stupaca gradi se iz unije ključeva kroz sve objekte, pa nedosljedni zapisi ne lome izlaz.
- Ispravno CSV escapiranje — vrijednosti sa zarezima, navodnicima ili prijelomima redaka pravilno se stavljaju pod navodnike, pa se datoteka čisto otvara u Excelu ili Google Sheetsu.
- Obrađuje ugniježđene podatke — objekt ili polje unutar polja serijalizira se u JSON tekst umjesto da izazove grešku.
- Kopirajte u međuspremnik ili preuzmite izravno kao .csv datoteku.
- 100% na strani klijenta — vaši podaci (API odgovori, izvezeni zapisi) nikad se nikamo ne šalju.
Kako ga koristiti
- Zalijepite JSON polje objekata, npr. [{"name":"Alice","age":30},{"name":"Bob","age":25}].
- Kliknite "Convert to CSV".
- Pregledajte izlaz — kopirajte ga ili kliknite "Download CSV" da spremite datoteku.
- Otvorite preuzetu datoteku u Excelu, Google Sheetsu ili bilo kojem alatu za proračunske tablice.
Primjer
Ulaz
[{"name":"Alice","age":30},{"name":"Bob","city":"NYC"}]Izlaz
name,age,city
Alice,30,
Bob,,NYCPrimijetite kako "city" i "age" oboje postaju stupci iako ni jedan objekt nema oboje — nedostajuće vrijednosti jednostavno se ostavljaju prazne.
Praktični savjeti
- Pretvarate API odgovor za izvještaj u proračunskoj tablici: zalijepite JSON polje izravno iz kartice Network preglednika ili alata za testiranje API-ja, pretvorite i preuzmite — bez posredne skripte.
- Rad s nedosljednim zapisima (npr. opcionalna polja iz izvoza forme): automatsko otkrivanje zaglavlja znači da ne trebate ručno usklađivati sheme unaprijed.
- Ako je vaš JSON jedan veliki objekt s poljem ugniježđenim unutra (npr. {"users": [...]}), izvucite samo dio polja (dio [...]) prije lijepljenja ovdje.
Zašto su redoslijed i cjelovitost stupaca važni
Suptilna, ali česta CSV greška događa se kad se podaci izvoze ručnim pisanjem zaglavlja unaprijed i nadanjem da će svaki redak odgovarati: ako redak 50 od 1000 ima dodatno polje koje nijedan raniji redak nije imao, naivni CSV pisač redak po redak ili tiho izbaci to polje ili pomakne svaki sljedeći stupac iz poravnanja. Ovaj alat izbjegava taj način neuspjeha tako što prvo skenira svaki objekt u polju kako bi izgradio potpun i ispravan redak zaglavlja prije nego što napiše ijednu liniju izlaza — pa polje koje se pojavljuje samo jednom, na samom posljednjem objektu, i dalje dobiva svoj stupac, a vrijednost svakog drugog retka za njega ispravno se prikazuje kao prazna umjesto da ošteti strukturu retka.
Često postavljana pitanja
Radi li ovo s jednim JSON objektom umjesto polja?
Očekuje polje — omotajte jedan objekt u uglate zagrade, npr. promijenite {"name":"Alice"} u [{"name":"Alice"}], i pretvorit će se u CSV s jednim retkom.
Što se događa s ugniježđenim objektima ili poljima unutar polja?
Serijaliziraju se kao JSON string unutar te ćelije (npr. polje koje sadrži {"a":1} postaje tekst "{""a"":1}" u CSV-u, pravilno escapiran navodnicima) umjesto da izazovu grešku ili budu izbačeni. Ako vam trebaju ugniježđeni podaci ravnomjerno raspoređeni u zasebne stupce, za to je potreban drugi, shemi specifičan alat.
Šalju li se moji podaci na server?
Ne. Pretvorba se odvija kao JavaScript u potpunosti u vašem pregledniku — ništa se nigdje ne šalje, što ovo čini sigurnim za korištenje s izvezenim korisničkim ili poslovnim podacima.
Zašto moj CSV ima prazne ćelije?
Ako nekim objektima u vašem polju nedostaje ključ koji drugi imaju, taj stupac i dalje postoji, ali je ćelija prazna za objekte koji ga nemaju — ovo čuva sve vaše podatke umjesto da baca grešku zbog nedosljednih zapisa.
Hoće li vrijednosti sa zarezima slomiti CSV?
Ne. Svaka vrijednost koja sadrži zarez, znak navodnika ili prijelom retka automatski se stavlja pod navodnike (s unutarnjim navodnicima escapiranim) prema standardnim CSV pravilima, pa se ispravno otvara u Excelu i Google Sheetsu.