Šta radi alat za konverziju JSON u Excel?
Ovaj alat prima jedan JSON fajl i pretvara ga u Excel (XLSX) tabelu. Korisnik odabere fajl, alat ga automatski obradi, prikaže pregled rezultata i ponudi preuzimanje gotovog fajla. Ulaz mora biti "tabelarno oblikovan" – JSON koji sadrži niz objekata (array of objects) ili niz nizova (array of arrays). Ako je struktura nepravilna, alat prijavljuje grešku: "This JSON is invalid or not table‑shaped." Također, ako datoteka nema nijedan red tabele, javlja se poruka: "This file has no table rows."
Alat automatski spljoštava (flatten) hijerarhijsku JSON strukturu u ravnu tabelu. Ključevi objekata postaju zaglavlja kolona, nizovi objekata postaju redovi, a ugniježđeni ključevi se proširuju putanjama sa tačkom (dot‑path). Na primjer, JSON objekat {"address": {"city": "Sarajevo", "street": "Marsala Tita"}} postaje kolone address.city i address.street. Ovaj način pretvaranja je nužan jer JSON može sadržavati objekte i nizove na više nivoa, dok Excel tabela može biti samo dvodimenzionalna.
Rezultat je jedan radni list (worksheet) – alat ne pravi više listova niti prenosi formule, oblikovanje ćelija ili stilove iz JSON-a. U pregledu se prikazuju broj redova, kolona i veličina izlazne datoteke.
Kako se JSON hijerarhija pretvara u tabelu?
Ključna razlika između ove konverzije i, recimo, CSV u Excel je u tome što JSON ima tipizirane i ugniježđene podatke. Dok su CSV i Excel već ravne strukture, JSON može imati objekte unutar objekata i nizove. Alat primjenjuje pravilo spljoštavanja: svaki ključ objekta na vrhu postaje zaglavlje kolone. Ako je vrijednost tog ključa opet objekat, njegovi ključevi se dodaju kao nova zaglavlja sa prefiksom putanje kroz tačke. Na primjer, za JSON:
[
{
"ime": "Ana",
"ocene": {"matematika": 5, "fizika": 4}
}
]
Dobiće se kolone ime, ocene.matematika, ocene.fizika. Prazna polja (null) ili nedostajući ključevi rezultiraju praznim ćelijama u Excelu.
Ako JSON sadrži niz nizova (array of arrays), svaki unutrašnji niz se tretira kao red tabele, a njegovi elementi postaju ćelije po redoslijedu. Ne postoji zaglavlje kolona u tom slučaju – prvi unutrašnji niz je jednostavno prvi red tabele.
Važno je napomenuti da alat spljoštava sve do jedne ravni. Duboko ugniježđeni nizovi (npr. niz objekata unutar niza) se ne mogu u potpunosti predstaviti u jednostavnoj tabeli bez dodatnog spljoštavanja, ali alat to radi automatski primjenjujući dot‑path ključeve.
Tipovi podataka: JSON naspram XLSX
JSON podržava nekoliko osnovnih tipova: string, broj (integer i float), boolean, null, objekat i niz. Excel (XLSX) format, kao zipped XML radna sveska, može nativno pohraniti brojeve, boolean vrijednosti i tekst. Za razliku od CSV-a, koji sve podatke pretvara u stringove, XLSX zadržava tipove.
Tokom konverzije, alat mapira JSON brojeve u Excel numeričke ćelije, boolean vrijednosti (true/false) u logičke ćelije, a stringove u tekstualne ćelije. JSON vrijednost null se pretvara u praznu ćeliju. Objekti i nizovi se spljoštavaju ili pretvaraju u redove, kako je opisano.
Ovo je ključna prednost za korisnike koji žele sačuvati numeričke i logičke tipove u Excelu, umjesto da ih kasnije ručno pretvaraju iz teksta. Međutim, alat ne računa formule, ne dodaje formatiranje (boje, fontove) niti kombinuje ćelije. Izlazni fajl sadrži samo statične podatke.
Ograničenja i rubni slučajevi
Alat ima nekoliko važnih ograničenja koja su navedena u porukama o greškama:
- "Choose a CSV, JSON or XLSX file." – dozvoljeni su samo CSV, JSON i XLSX ulazni formati.
- "This file is too large. Use a file under ‹max›." – postoji gornja granica veličine od 8 MB.
- "This JSON is invalid or not table‑shaped." – JSON mora biti niz objekata ili niz nizova.
- "This file has no table rows." – prazan niz ili objekat bez podataka.
- "This table has more than ‹max› rows." – ograničenje broja redova je 10,000.
- "This table has more than ‹max› columns." – ograničenje broja kolona je 200.
- "Conversion cancelled." – ako korisnik prekine proces.
- "This conversion is taking too long. Try a smaller file." – vremensko ograničenje od oko 12 sekundi.
Ove poruke su precizne i pojavljuju se samo u relevantnim situacijama. Korisnik treba da bude svjestan da alat ne rukuje sa više listova, ne podržava formule i ne čuva formatiranje. Također, spljoštavanje može dovesti do dugačkih naziva kolona (npr. a.b.c.d.e), što može biti nepraktično za ručni rad u Excelu.
Ko treba da koristi ovaj alat?
Alat je namijenjen osobama koje rade sa hijerarhijskim JSON podacima – na primjer, dobijenim iz API-ja, konfiguracijskih fajlova ili baza podataka – i žele ih analizirati ili podijeliti u Excelu. Data analitičari koji trebaju spljoštiti ugniježđene JSON objekte bez pisanja vlastitog koda mogu ga koristiti kao brzo rješenje. Također, koristan je za timove koji rade u Excelu, a primaju JSON datoteke od drugih odjela ili sistema.
Alat posebno pomaže kada je potrebno sačuvati numeričke i boolean tipove podataka. CSV konverzija bi sve pretvorila u tekst, što zahtijeva dodatno čišćenje. Ovdje se tipovi zadržavaju, što olakšava dalju obradu (npr. sumiranje brojeva).
Tehnički detalji: obrada na klijentskoj strani
Konverzija se odvija u potpunosti u korisničkom pretraživaču. Nijedan fajl se ne šalje na server, što osigurava privatnost podataka. Ovo je važno za osjetljive ili povjerljive JSON datoteke. Proces je sinhronizovan ili asinhronizovan, ali uvijek lokalni.
Pošto je obrada na klijentskoj strani, ograničenja veličine fajla i broja redova/kolona postoje zbog memorijskih i vremenskih resursa pregledača. Alat prikazuje poruku o predugom trajanju konverzije, što korisniku daje do znanja da treba smanjiti ulazni fajl.
Često postavljana pitanja
1. Da li alat može pretvoriti JSON koji nije niz (array)? Da. Jedan objekat se pretvara u tabelu sa jednim redom.
2. Šta se dešava sa vrijednostima null u JSON-u?
Postaju prazne ćelije u Excelu. Ako polje potpuno nedostaje u nekim objektima, također dobijate prazne ćelije.
3. Mogu li dobiti više radnih listova u izlaznom fajlu? Ne. Alat proizvodi samo jedan radni list.
4. Da li se čuvaju formule iz JSON-a? Ne. Alat tretira sve JSON vrijednosti kao podatke, a ne kao formule.
5. Koja je maksimalna veličina datoteke koju alat može obraditi? Maksimalna veličina datoteke je 8 MB. Alat će prikazati poruku "This file is too large. Use a file under ‹max›.".
6. Kako da znam da li je moj JSON tabelarno oblikovan?
Najlakši način je da provjerite da li počinje sa [ (uglata zagrada) i sadrži objekte {...} ili nizove. Ako počinje sa {, to je i dalje validan unos, ali se pretvara u tabelu sa jednim redom. Alat će sam provjeriti i javiti grešku ako nije.