Pretvarjanje JSON v Excel: delovanje, pravila in mejni primeri
Orodje na strani json‑to‑excel sprejme eno datoteko JSON in jo pretvori v format XLSX (Excel). Postopek je v celoti izveden v brskalniku – datoteka ni naložena na strežnik. Po končani pretvorbi si uporabnik ogleda predogled tabele, število vrstic in stolpcev ter velikost izhodne datoteke, nato pa jo lahko prenese.
Bistvena razlika od podobnih pretvorb (npr. CSV v Excel) je v tem, da JSON omogoča gnezdenje objektov in polj ter hrani različne podatkovne tipe – števila, logične vrednosti (true/false) in null. Navadna CSV datoteka te tipe reducira na besedilne nize, medtem ko format XLSX (zgoščeni XML-delovni zvezek) števila in logične vrednosti ohrani kot take. Orodje pa pri pretvorbi ne prenaša formul ali oblikovanja celic – izhod vsebuje le statične podatke iz vhodnega JSON‑a.
Sploščanje gnezdene strukture
JSON je po naravi drevesna struktura: objekt vsebuje ključe, katerih vrednosti so lahko primitivni tipi, drugi objekti ali polja. Orodje to hierarhijo pretvori v ravno tabelo, tako da ugnezdene ključe razširi s potmi s pikami. Primer: če JSON vsebuje objekt {"oseba": {"ime": "Ana", "naslov": {"mesto": "Ljubljana"}}}, bo orodje ustvarilo stolpca oseba.ime in oseba.naslov.mesto.
Polja objektov se pretvorijo v vrstice – vsak element polja postane nova vrstica, njegovi ključi pa stolpci. Če je vhodno polje polje polj (array of arrays), se to obravnava kot tabela brez glave: vsako notranje polje postane vrstica, elementi pa stolpci. Orodje vedno izdela le en delovni list; ne podpira več listov, formul ali oblikovanja, ki bi ga morebiti vseboval vhodni Excel (kar za JSON vhod ni relevantno).
Zahteve za vhodno datoteko
Sistem sprejme natanko eno datoteko naenkrat. Vhodni JSON mora biti tabelarične oblike – bodisi polje objektov bodisi polje polj. Če JSON vsebuje zgolj en objekt ali polje primitivnih vrednosti, pretvorba ni mogoča in orodje vrne napako: »This JSON is invalid or not table‑shaped.«
Omejitve so določene z vnaprej nastavljenimi mejami:
| Omejitev | Sporočilo ob prekoračitvi |
|---|---|
| Velikost datoteke | »This file is too large. Use a file under ‹max›.« |
| Število vrstic | »This table has more than ‹max› rows.« |
| Število stolpcev | »This table has more than ‹max› columns.« |
Poleg teh napak se lahko pojavijo še:
- »Choose one file first.« – datoteka ni izbrana.
- »Choose a CSV, JSON or XLSX file.« – izbrana je datoteka napačnega formata.
- »This file has no table rows.« – datoteka je prazna ali ne vsebuje nobene vrstice.
- »Conversion cancelled.« – uporabnik je prekinil postopek.
- »This conversion is taking too long. Try a smaller file.« – obdelava traja predolgo, priporočena je manjša datoteka.
Kako orodje obravnava primere null in praznih vrednosti
Ko JSON vsebuje null ali manjkajoče ključe, se v izhodni tabeli pojavi prazna celica. Logične vrednosti (true/false) se v XLSX shranijo kot logični tip, števila kot števila. Tako se na primer vnos {"aktiven": true, "starost": null} pretvori v celico z logično vrednostjo TRUE oziroma prazno celico. To je pomembna prednost pred CSV, kjer bi obe vrednosti postali besedilna niza »TRUE« in »«.
Kdo potrebuje to orodje
Glavni uporabniki so:
- Analitiki podatkov – prejemajo JSON iz API‑jev ali konfiguracijskih datotek in ga želijo hitro sploščiti brez pisanja lastnega koda.
- Ekipe, ki sodelujejo z uporabniki Excela – JSON pogosto ni berljiv laičnim uporabnikom, Excel pa je standardno orodje za pregled in obdelavo.
- Razvijalci – potrebujejo hiter pregled nad strukturo JSON‑a v obliki tabele, zlasti kadar gre za velike objekte z globokim gnezdenjem.
- Vsi, ki želijo ohraniti podatkovne tipe – kadar je pomembno, da številke ostanejo števila in logične vrednosti ostanejo logične, je XLSX boljša izbira kot CSV.
Format XLSX kot tarčni format
XLSX je zgoščeni arhiv XML‑datotek, ki določa delovni zvezek. Vsaka celica ima lahko svoj podatkovni tip (število, besedilo, logična vrednost, datum ipd.). Orodje pri pretvorbi zapiše vse celice kot statične vrednosti – ne vstavlja formul, ne oblikuje pisav, barv ali robov. To pomeni, da je izhod primeren za nadaljnjo obdelavo v Excelu, vendar ne ohrani morebitnega oblikovanja, ki bi ga uporabnik vnesel v prvotni Excel (kar ob vhodu JSON ni relevantno).
Ker obdelava poteka v brskalniku, ni nevarnosti uhajanja podatkov na strežnik. Edina grožnja je morebitna zlonamerna datoteka JSON, ki bi lahko povzročila nepravilno prikazovanje, vendar orodje zanjo nima posebne zaščite – uporabnik naj nalaga le zaupanja vredne datoteke.
Primeri pravilnega delovanja
-
Polje objektov
Vhod:[{"ime": "Ana", "starost": 30}, {"ime": "Bojan", "starost": null}]Izhodna tabela: dva stolpca (
ime,starost), dve vrstici. Celicastarostpri Ani vsebuje število 30, pri Bojanu je prazna. -
Gnezden objekt
Vhod:[{"uporabnik": {"id": 1, "aktiven": true, "naslov": {"mesto": "Ljubljana", "posta": 1000}}}]Izhodni stolpci:
uporabnik.id,uporabnik.aktiven,uporabnik.naslov.mesto,uporabnik.naslov.post. Vrednosti: 1,TRUE, "Ljubljana", 1000. -
Polje polj
Vhod:[[1, "text", false], [2, null, true]]Izhodna tabela treh stolpcev in dveh vrstic. Logične vrednosti se ohranijo.
Pogoste napake uporabnikov
- Vhodna datoteka ni tabelarična – na primer sam objekt brez ovojnega polja. Orodje vrne napako »This JSON is invalid or not table‑shaped«.
- Prevelika datoteka – presega omejitev velikosti, ki jo določa strežnik (vrednost
‹max›je specifična za namestitev). - Napačen format – uporabnik poskuša pretvoriti datoteko, ki ni CSV, JSON ali XLSX.
- Pričakovanje več listov – orodje vedno ustvari samo en delovni list. Če uporabnik potrebuje več listov, mora JSON razdeliti na več datotek ali uporabiti drugo orodje.
FAQ
1. Ali orodje ohrani številske in logične podatke ali jih spremeni v besedilo?
Orodje zapiše števila kot števila in logične vrednosti (true/false) kot logične vrednosti v XLSX. CSV bi te tipe reduciral na besedilo.
2. Kaj se zgodi, če JSON vsebuje polje nizov?
Orodje ga obravnava kot tabelo – vsako notranje polje postane vrstica, elementi pa stolpci. Če so notranja polja različno dolga, lahko pride do praznih celic.
3. Ali lahko pretvorim več datotek hkrati?
Ne. Naenkrat je mogoče pretvoriti le eno datoteko.
4. Kje se obdeluje moja datoteka?
Obdelava poteka v celoti v brskalniku na vašem računalniku. Noben podatek se ne pošilja na strežnik.
5. Zakaj dobim napako »This JSON is invalid or not table‑shaped«?
Najverjetneje je vhodni JSON objekt (začne se z {) ali polje primitivnih vrednosti. Orodje zahteva polje objektov ali polje polj.
6. Ali orodje podpira več delovnih listov v izhodni datoteki?
Ne. Ustvari se le en delovni list z ravnimi podatki.