JSON-ды Excel-ге түрлендіру: ішкі құрылымы, ережелері және шектеулері
Бұл бет не істейді
Бұл бет JSON файлын жүктеп, оны Excel (XLSX) форматына түрлендіреді. Жүйе иерархиялық JSON құрылымын автоматты түрде жалпақ кестеге айналдырады: объект кілттері баған тақырыптарына, объектілер массиві жолдарға, ал кірістірілген кілттер нүктелі жолдармен кеңейтіледі (мысалы, address.city). Нәтижені алдын ала қарап шығып, дайын кестені жүктеп алуға болады.
Кіріс ретінде бір ғана JSON файлы қабылданады, ол «кесте тәрізді» болуы керек: объектілер массиві немесе массивтер массиві. Шығыс ретінде XLSX файлы, қарап шығу терезесі, түрлендірілген кестедегі жолдар мен бағандар саны, сондай-ақ шығыс файлдың өлшемі көрсетіледі.
Бұл бетті не ерекше етеді
JSON типтелген және иерархиялық құрылымға ие: ол объектілерді, массивтерді, сандарды, бульдік мәндерді және null мәнін қамти алады. Ал жалпақ электрондық кесте бұл иерархияны тікелей көрсете алмайды. Түрлендіру кезінде арнайы ереже қолданылады: нүктелі жолдар арқылы кілттерді жалпақтандыру. Бұл ереже CSV немесе Excel-ден түрлендіру кезінде қажет емес, себебі ол форматтар бастапқыда жалпақ кесте болып келеді.
Нысаналы формат — XLSX, ол жиырылған XML пакеті (Office Open XML). XLSX сандар мен бульдік мәндерді сақтай алады (CSV-ден айырмашылығы, CSV бәрін мәтінге түрлендіреді). Дегенмен, бұл құрал ешқандай формулаларды немесе ұяшық стильдерін сақтамайды; ол JSON көзінен тек көрінетін статикалық деректерді ғана жазады.
JSON құрылымы және оны жалпақ кестеге түрлендіру
JSON (JavaScript Object Notation) — бұл мәтіндік деректер алмасу форматы. Оның негізгі элементтері: объект ({}), массив (``), жол (" "), сан (42, 3.14), бульдік (true, false) және null. Объект ішінде кілт-мән жұптары болады, ал массив — реттелген мәндер тізімі.
Кестеге түрлендіру кезінде мынадай ереже қолданылады:
- Объектілер массиві: әрбір объект бір жолға айналады, объект кілттері баған тақырыптары болады.
- Массивтер массиві: егер жоғарғы деңгейдегі JSON массивтер массиві болса (мысалы,
[ [1, "x"], [2, "y"] ]), әрбір ішкі массив бір жолға айналады, және тақырып жолы жасалмайды — бірінші ішкі массив жай ғана парақтың бірінші жолы болады. - Кірістірілген объектілер: кілттер нүктелі жолдармен кеңейтіледі. Мысалы,
{"address": {"city": "Almaty", "street": "Abay"}}кестедеaddress.cityжәнеaddress.streetдеген екі бағанға айналады. - Кірістірілген массивтер: егер объект массивтер массивін қамтыса, бұл массив жеке жолдарға кеңейтілмейді. Оның орнына, бүкіл массив JSON жолы ретінде бір ұяшыққа орналастырылады.
Мысалы, келесі JSON-ды алайық:
[
{
"id": 1,
"name": "Айгүл",
"score": 85.5,
"active": true,
"meta": {
"level": 3,
"role": "admin"
}
}
]
Түрлендіру нәтижесінде кестеде мынадай бағандар пайда болады: id, name, score, active, meta.level, meta.role. Бір жолда: 1, Айгүл, 85.5, TRUE, 3, admin.
Деректер типтерінің JSON-нан XLSX-ке көшірілуі
XLSX форматы сандарды, бульдік мәндерді және мәтінді сақтай алады. Бұл CSV-ден маңызды айырмашылық, себебі CSV бәрін мәтінге түрлендіреді. Бұл құрал келесі типтерді тікелей көшіреді:
| JSON типі | XLSX ұяшық типі | Мысал |
|---|---|---|
| Сан | Сан | 42 → 42 |
| Бульдік | Бульдік | true → TRUE |
| null | Бос ұяшық | null → бос |
| Жол | Мәтін | "Айгүл" → Айгүл |
Маңызды ерекшелігі: null мәні XLSX-те бос ұяшыққа айналады. Егер JSON-да {"value": null} болса, кестеде сол ұяшық бос қалады. Егер кілт мүлдем болмаса, ол да бос ұяшық болады.
Шектеулер мен ерекше жағдайлар
Құралдың бірнеше нақты шектеулері бар, олардың әрқайсысы нақты қате хабарламасымен көрсетіледі:
- «Choose a CSV, JSON or XLSX file.» — қолданылмайтын формат таңдалғанда шығады.
- «This file is too large. Use a file under 8 MB.» — файл өлшемі 8 МБ-тан үлкен болса шығады.
- «This JSON is invalid or not table-shaped.» — JSON құрылымы дұрыс емес немесе кесте тәрізді емес болса шығады.
- «This file has no table rows.» — JSON дұрыс құрылымды, бірақ бос массив болса шығады.
- «This table has more than ‹max› rows.» — жолдар саны 10 000-нан асқанда шығады.
- «This table has more than ‹max› columns.» — бағандар саны 200-ден асқанда шығады.
- «Conversion cancelled.» — пайдаланушы түрлендіруді тоқтатқанда шығады.
- «This conversion is taking too long. Try a smaller file.» — түрлендіру шамамен 12 секундтан асса тоқтатылады.
Бұл шектеулердің себебі: XLSX форматы бір жұмыс парағына шексіз жолдар мен бағандарды сақтай алмайды. Сондықтан, егер JSON-да тым көп жол немесе баған болса, түрлендіру мүмкін емес.
Неліктен кейбір JSON құрылымдары кестеге жарамсыз
JSON-ның кесте тәрізді болуы деген не? Бұл JSON деректерінің тікбұрышты кестеге айналуы мүмкін екенін білдіреді. Ең қарапайым мысал — объектілер массиві. Әрбір объект бір жол, ал объект кілттері бағандар.
Бірақ келесі құрылымдар кесте тәрізді емес:
- Терең кірістірілген массивтер:
[,]— мұндай құрылымды бір кестеге айналдыру мүмкін емес. - Аралас типтер:
[{"name": "Айгүл"},]— объект пен массив араласқан жағдайда кесте құру қиын.
Құрал «This JSON is invalid or not table-shaped.» деген қате хабарламасын шығарғанда, JSON құрылымын өзгерту қажет. Мысалы, жалғыз объектіні массивке орау: [{"name": "Айгүл", "age": 30}].
Клиент жағында өңдеу және деректер құпиялылығы
Бұл құралдың маңызды артықшылығы — түрлендіру браузерде, яғни пайдаланушының компьютерінде орындалады. Ешқандай файл серверге жіберілмейді. Бұл әсіресе құпия немесе жеке деректерді қамтитын JSON файлдары үшін маңызды, себебі үшінші тараптың серверіне жүктеу қажет емес.
Клиент жағында өңдеу келесідей жұмыс істейді:
- Пайдаланушы JSON файлын таңдайды.
- Файл браузер арқылы оқылады.
- JSON мәтіні талданады.
- Деректер жалпақ кестеге түрлендіріледі.
- XLSX файлы жасалады.
- Файл жүктеп алу үшін дайын болады.
Бұл процесс ешқандай желілік сұранымсыз орындалады, сондықтан деректердің құпиялылығы сақталады.
Құрал кімге қажет
Бұл құрал келесі жағдайларда қолданылады:
- API-дан алынған деректер: Көптеген веб-сервистер JSON форматында деректер қайтарады (мысалы, REST API). Осы деректерді Excel-де талдау үшін алдымен кестеге айналдыру қажет.
- Конфигурация файлдары: Кейбір бағдарламалар конфигурацияны JSON-да сақтайды. Бұл файлдарды кестеге айналдыру арқылы параметрлерді оңай салыстыруға болады.
- Деректерді талдау: Деректерді талдаушылар JSON-дағы сандық деректерді Excel-ге жүктеп, одан әрі статистикалық талдау жүргізеді.
- Бірлескен жұмыс: Бір топ мүшелері JSON файлдарымен жұмыс істесе, ал басқалары Excel-ді пайдаланса, бұл құрал екі топты біріктіреді.
Жиі қойылатын сұрақтар (FAQ)
С: Неліктен JSON-ды CSV-ге емес, XLSX-ке түрлендіруім керек?
Ж: XLSX форматы сандар мен бульдік мәндерді сақтайды, ал CSV бәрін мәтінге түрлендіреді. Егер JSON-да "score": 85.5 болса, XLSX-те ол сан, CSV-те "85.5" мәтіні болады. Сандық деректермен жұмыс істеу үшін XLSX қолайлы.
С: Бірнеше JSON файлын бір Excel кестесіне біріктіруге бола ма?
Ж: Жоқ, бұл бет бір уақытта тек бір файлды қабылдайды.
С: «This JSON is invalid or not table-shaped.» қатесі неліктен шығады?
Ж: Бұл қате JSON форматы дұрыс емес немесе кесте тәрізді емес болғанда шығады. JSON-ды [{"key": "value"}] түрінде құрылымдау қажет.
С: Құрал Excel формулаларын сақтай ма?
Ж: Жоқ. Құрал барлық JSON мәндерін деректер ретінде қабылдайды, формулалар ретінде емес. Егер сізде "=SUM(A1:A10)" жолы болса, ол ұяшықта сол мәтін ретінде пайда болады, есептелген қосынды ретінде емес.
С: Нүктелі жол атаулары деген не?
Ж: Нүктелі жол — кірістірілген объект кілттерін бір жолға біріктіру әдісі. Мысалы, {"meta": {"level": 3}} meta.level бағанына айналады. Бұл терең иерархияны жалпақ кестеде көрсетуге мүмкіндік береді.
С: Неліктен бір ғана жұмыс парағы шығарылады?
Ж: Бұл құрал бір JSON файлынан бір ғана кесте жасайды, сондықтан бір ғана жұмыс парағы жеткілікті.
С: Деректерім осы бетті пайдаланған кезде қауіпсіз бе?
Ж: Иә. Барлық түрлендіру сіздің браузеріңізде клиент жағында орындалады. Ешқандай файл ешбір серверге жүктелмейді.