Pag-unawa sa Syntax at Estruktura ng JSON
Ang JSON (JavaScript Object Notation) ay isang magaan na format para sa pagpapalitan ng data na madaling basahin at isulat ng mga tao, at madali ring i-parse at i-generate ng mga makina. Upang maituring na balido ang isang JSON, dapat nitong sundin ang mga mahigpit na panuntunan sa syntax. Ang mga object ay dapat magsimula at magtapos sa mga curly brace, habang ang mga array naman ay gumagamit ng square brackets. Ang mga key sa loob ng isang object ay kailangang nakapaloob sa double quotes, at ang bawat property ay dapat sundan ng colon bago ang katumbas nitong value. Ang mga value ay maaaring maging string, numero, object, array, boolean, o null. Ang hindi pagsunod sa mga panuntunang ito ay nagdudulot ng mga error sa pag-parse ng data.
Ang Kahalagahan ng JSON Validation
Ang pag-validate ng JSON ay isang kritikal na hakbang bago gamitin ang data sa mga application o API. Kapag ang JSON ay hindi balido, ang mga system na nagpoproseso nito ay maaaring mag-crash o magpakita ng hindi inaasahang error. Ang tool na ito ay nagbibigay ng real-time validation. Kung may error sa syntax, ipapakita ng tool ang lokasyon nito gamit ang format na "linya {line}, kolum {col}" kasama ang button na "Pumunta sa error" upang mabilis na mahanap ang isyu.
Nagagawa rin ng tool na matukoy ang mga partikular na dahilan ng pagkabigo ng validation gaya ng:
- "May kulang na comma sa pagitan ng mga item"
- "May sobrang comma bago ang pansarang bracket"
- "Dapat nakapaloob sa double quotes ang mga key ng object"
- "May kulang na colon pagkatapos ng pangalan ng property"
- "May string na walang pansarang quote"
- "Masyadong maagang nagtapos ang JSON — mukhang naputol ito"
- "May hindi inaasahang character sa dapat kalagyan ng value"
- "Masyadong malalim ang pagkaka-nest ng JSON na ito para maiproseso"
- "Duplicate na key
{key}— alisin ang isa bago mag-format"
Ang tool ay may synchronous processing threshold na 250,000 characters. Kung ang pagsusuri ay lumampas sa limitasyon sa oras, ipapakita nito ang "Masyadong natagalan ang pagsusuri ng JSON na ito kaya inihinto. Subukan ang mas maliit na dokumento.".
Pag-format at Pag-minify ng JSON
Ang pag-format o "beautifying" ay ang proseso ng pag-aayos ng JSON upang maging madaling basahin ng tao. Ginagawa ito sa pamamagitan ng paglalapat ng tamang indentation at line breaks. Sa tool na ito, maaaring pumili ng antas ng "Indentation" upang i-format ang data. Kapag natapos na, ipapakita ng tool ang "Na-format na ang JSON.".
Sa kabilang banda, ang pag-minify naman ay ang proseso ng pag-alis ng lahat ng hindi kinakailangang espasyo, tab, at line break sa JSON. Ang benepisyo nito ay ang pagpapaliit ng laki ng file para sa mas mabilis na transmisyon sa network o mas matipid na storage. Kapag pinili ang aksyong ito, ipapakita ng tool ang "Na-minify na ang JSON.".
Maaari ding i-sort ang mga key ng object sa pamamagitan ng "I-sort ang mga key" button. Ang tooltip nito ay "Recursive na inaayos ang mga key ng object ayon sa code-point order. Hindi kailanman nababago ang pagkakasunod-sunod ng array.". Kapag inilapat ito, lalabas ang mensaheng "Na-sort na ang mga key — hindi nagbago ang ayos ng array. Pindutin ang Ctrl/Cmd+Z para i-undo.".
Pag-navigate sa Complex JSON gamit ang Tree View
Para sa mga kumplikado at malalaking dokumento, ang "Tree" view ay nagbibigay ng interactive na paraan upang galugarin ang estruktura ng data. Ipinapakita nito ang "JSON tree" na may label na "root" para sa pinaka-ugat na node. Maaari mong gamitin ang "Maghanap ng mga key at value" upang maghanap sa loob ng tree. Ipinapakita ng search indicator ang mga tugma gaya ng "{current} sa {total}" o "{current} sa {total}+" kung marami ang nahanap, at "Walang tugma" kung walang nahanap. Mayroon ding mga button para sa "Nakaraang tugma", "Susunod na tugma", "I-expand lahat", at "I-collapse lahat".
May mga limitasyon ang tree view batay sa laki ng data:
- Kung hindi balido ang JSON, ipapakita nito ang "Ayusin ang JSON para makita ito bilang tree.".
- Kung masyadong malaki ang dokumento, ipapakita ang "Masyadong malaki ang JSON na ito para i-render bilang tree." o "Masyadong maraming value ang JSON na ito para i-render bilang tree.".
- Kapag nag-expand ng malaking tree, maaaring lumabas ang "Masyadong malaki ang JSON na ito para i-expand nang buo — ipinapakita ang unang
{count}row.". - Maaari ding gamitin ang mga button na "Magpakita ng
{count}pa…", "I-expand ang{key}", at "I-collapse ang{key}" para sa kontroladong pag-navigate.
Paggamit ng JSON Pointer at JSONPath para sa Data Extraction
Kapag nagna-navigate sa tree view, maaari mong i-right-click o buksan ang "Mga opsyon sa pagkopya para sa {key}" menu. Nagbibigay ito ng tatlong mahalagang opsyon para sa pagkuha ng data:
- "Kopyahin ang value": Kinokopya ang mismong halaga ng napiling node.
- "Kopyahin ang JSON Pointer": Kinokopya ang path ng node gamit ang RFC 6901 standard (halimbawa,
/store/book/0/title). - "Kopyahin ang JSONPath": Kinokopya ang path gamit ang JSONPath query syntax (halimbawa,
$.store.book.title).
Ang mga opsyong ito ay lubhang kapaki-pakinabang para sa mga developer na kailangang sumulat ng mga query o code upang ma-access ang mga partikular na bahagi ng isang malaking JSON payload.
Pag-aayos ng mga Non-Standard at JSON-Like Formats
Madalas na ang nakukuhang data ay hindi purong JSON kundi mga katulad na format. Ang tool na ito ay may kakayahang mag-detect ng iba't ibang non-standard formats at nag-aalok ng "I-preview ang ayos" na magbubukas sa "Preview ng pag-aayos". Ipinapakita nito ang "Orihinal" at "Pagkatapos ayusin" na mga panel. Kung hindi kaya ng tool, ipapakita nito ang "Hindi awtomatikong maaayos ang input na ito.". Kung masyadong malaki ang file, maaaring lumabas ang "Pinaikli ang preview — ang buong dokumento ang apektado ng ayos.".
Narito ang mga format na kayang i-detect at ang kaukulang aksyon kapag pinindot ang "I-apply ang ayos" (na maaaring i-undo gamit ang "Na-apply na ang ayos. Pindutin ang Ctrl/Cmd+Z para i-undo."):
| Deteksyon | Mensahe ng Deteksyon | Aksyon ng Pag-aayos |
|---|---|---|
| Markdown Code Fence | "Mukhang JSON ito sa loob ng Markdown code fence." | "Kapag in-apply, ang JSON lang sa loob ng fence ang maiiwan." |
| Escaped String | "Mukhang JSON ito na naka-escape sa loob ng string." | "Kapag in-apply, ia-unescape ang string para maging karaniwang JSON." |
| Python Dictionary | "Mukhang Python-style dictionary ito, hindi JSON." | "Kapag in-apply, isusulat muli ang mga quote at True/False/None bilang JSON." |
| JSON Lines | "Mukhang JSON Lines ito — isang value bawat linya." | "Kapag in-apply, pagsasamahin ang mga linya sa iisang JSON array." |
| JSONP Callback | "Mukhang JSON ito na nakabalot sa JSONP callback." | "Kapag in-apply, aalisin ang callback wrapper." |
| JSONC | "Mukhang JSONC ito — may mga komento o trailing comma. Ilipat ang syntax sa JSONC o i-apply ang ayos." | "Kapag in-apply, aalisin ang mga komento at trailing comma." |
Maaari ding gamitin ang "Syntax" selector upang direktang lumipat sa pagitan ng "JSON" at "JSONC". Para sa iba pang pangkalahatang pag-aayos, ang default na aksyon ay "Kapag in-apply, papalitan ang input ng naayos na JSON.".
Mga Limitasyon at Paghawak ng Malalaking File
Ang tool na ito ay may mga mahigpit na limitasyon upang mapanatili ang katatagan ng pagpoproseso sa loob ng browser:
- Maximum Input Size: Ang pinakamalaking sukat ng input na kayang tanggapin ay 10 MiB. Kung lumampas dito, ipapakita ang "Mas malaki ang input kaysa sa
{limit}, na lampas sa kayang iproseso ng tool na ito.". - File Upload: Maaaring magbukas ng
.jsono.txtna file gamit ang "Magbukas ng file" o sa pamamagitan ng drag-and-drop na may pahiwatig na "I-drop ang isang.json o.txt file dito". - Mga Error sa File:
- Kung lumampas sa limitasyon ang file: "Masyadong malaki ang file —
{limit}ang limitasyon.". - Kung hindi suportado ang format: "Hindi suportadong uri ng file — pumili ng.json o.txt file.".
- Kung hindi UTF-8 ang encoding: "Hindi UTF-8 na text ang file na ito, kaya hindi ito mabubuksan dito.".
- Kung may error sa pagbasa: "Hindi mabasa ang file na ito. Subukang piliin ito ulit.".
- Kung lumampas sa limitasyon ang file: "Masyadong malaki ang file —
Kapag matagumpay na na-load ang file, ipapakita ang "Na-load ang {name} ({size}).". Ang mga integer na may malalaking halaga ay pinapanatili nang buo nang walang pagkawala ng katumpakan (lossless preservation).
Patakaran sa Privacy at Pagpoproseso
Ang iyong JSON ay pinoproseso sa loob ng iyong browser. Walang ina-upload sa BroBroGo. Ang lahat ng operasyon tulad ng pag-format, pag-minify, pag-validate, at pag-sort ay lokal na nagaganap sa iyong device gamit ang mga resources ng iyong web browser.
Mga Madalas Itanong (FAQ)
Ina-upload ba ang aking JSON? Hindi. Gumagana ang formatter sa iyong browser at hindi ina-upload ang iyong JSON. Ang lahat ng data ay nananatili sa iyong lokal na makina.
Ano ang ginagawa ng minify? Inaalis ng minify ang mga hindi kinakailangang espasyo at line break habang pinapanatili ang parehong data ng JSON. Ginagawa nitong mas maliit ang sukat ng data para sa mas mabilis na pagpapadala.
Ano ang pagkakaiba ng JSON at JSONC? Ang JSON ay ang karaniwang format na hindi pinapayagan ang mga komento o trailing comma. Ang JSONC naman ay isang variant na nagpapahintulot ng mga komento at trailing comma. Maaari mong gamitin ang "Syntax" selector upang lumipat sa pagitan ng dalawang format na ito.
Bakit hindi ko makita ang aking JSON sa Tree view? Kung hindi balido ang iyong JSON, hindi ito maipapakita bilang tree at makikita ang mensaheng "Ayusin ang JSON para makita ito bilang tree.". Kung napakalaki naman ng dokumento, ipapakita ang "Masyadong malaki ang JSON na ito para i-render bilang tree.".