Formátovať a odsadiť JSON
- Dashboard
- Dokumentácia
- API
Prečo JSON formátovanie?
JSON formátovanie umožňuje robiť JSON dáta čitateľnejšími a zrozumiteľnejšími pre vývojárov a používateľov. To uľahčuje debugovanie, code review a analýzu dát, najmä keď ide o komplexné a objemné JSON súbory. Dobre formátovaný JSON môže byť tiež ľahšie integrovaný do dokumentov a reportov.
Ako formátovať JSON
Na stránke formátovania môžete formátovať váš JSON jeho vložením do vyhradenej textovej zóny alebo nahraním súboru obsahujúceho JSON.
Akonáhle je JSON odoslaný, bude formátovaný a zobrazený v zóne výsledku. Ak je JSON nevalidný, zobrazí sa chyba s indikáciou povahy problému.
Použitie formátovaného JSON
Formátovaný JSON môžete skopírovať pomocou vyhradeného tlačidla kopírovania. To uľahčí integráciu JSON do vašich projektov alebo reportov.
Váš JSON kód by mal vyzerať takto:
{
"id": 12345,
"name": "John Doe",
"email": "johndoe@example.com",
"address": {
"street": "123 Main St",
"city": "Springfield",
"state": "IL",
"postalCode": "62704",
"country": "USA"
},
"phoneNumbers": [
{
"type": "home",
"number": "555-1234"
},
{
"type": "work",
"number": "555-5678"
}
],
"orders": [
{
"orderId": 1001,
"orderDate": "2023-06-01T14:30:00Z",
"items": [
{
"productId": 2001,
"productName": "Laptop",
"quantity": 1,
"price": 999.99,
"details": {
"manufacturer": "TechCorp",
"warranty": "2 years"
}
},
{
"productId": 2002,
"productName": "Mouse",
"quantity": 2,
"price": 25.50,
"details": {
"manufacturer": "GadgetCo",
"warranty": "1 year"
}
}
],
"totalAmount": 1051.49
},
{
"orderId": 1002,
"orderDate": "2023-06-10T10:15:00Z",
"items": [
{
"productId": 2003,
"productName": "Keyboard",
"quantity": 1,
"price": 45.99,
"details": {
"manufacturer": "KeyMasters",
"warranty": "3 years"
}
}
],
"totalAmount": 45.99
}
],
"preferences": {
"newsletter": true,
"notifications": {
"email": true,
"sms": false
},
"theme": "dark"
},
"lastLogin": "2024-06-14T09:30:00Z"
}
Často kladené otázky
Aký rozdiel medzi formátorom, validátorom a JSON minifikátorom?
Formátor (beautifier) prepisuje kompaktný JSON na odsadenú a čitateľnú verziu. Validátor iba overuje, že je syntax v súlade so špecifikáciou (RFC 8259) a signalizuje chyby. Minifikátor robí opak formátora: odstraňuje všetky medzery pre redukciu veľkosti súboru. Náš nástroj kombinuje formátovanie a validáciu: ak je JSON nevalidný, chybová správa upresňuje pozíciu problému.
Akceptuje štandardný JSON komentáre a trailing comma?
Nie. JSON špecifikácia (RFC 8259) striktne zakazuje komentáre (// alebo /* */) a trailing comma po poslednom prvku poľa alebo objektu. Ak ich potrebujete, pozrite sa na JSON5 alebo JSONC, dve rozšírenia, ktoré akceptujú komentáre a trailing comma, používané najmä konfiguračnými súbormi VS Code a TypeScript.
Prečo musia reťazce používať dvojité úvodzovky?
JSON špecifikácia vyžaduje dvojité úvodzovky (") pre všetky reťazce a všetky kľúče objektov. Jednoduché úvodzovky (') nie sú validné, aj keď ich JavaScript akceptuje. Častá chyba pri kopírovaní z JS kódu je zachovanie jednoduchých úvodzoviek: formátor potom signalizuje parsing chybu.
Ako spravovať veľké čísla alebo veľmi presné desatinné čísla?
JSON nerozlišuje celé čísla od floatov: všetko je number. JavaScript parsery automaticky konvertujú na Number, ktorý stráca presnosť nad 2^53 (celé čísla) a má floatovú presnosť obmedzenú na 15 významných číslic. Pre dlhé identifikátory (Twitter IDs, Discord snowflakes) alebo finančné sumy ich kódujte ako reťazec ("123456789012345678") pre zachovanie presnosti.
Aké odsadenie zvoliť: 2 alebo 4 medzery?
Odsadenie 2 medzerami je dominantná konvencia (Prettier, ESLint defaultne, npm konvencie), zostáva čitateľná aj pre veľmi vnorené dokumenty. Odsadenie 4 medzerami vyhovuje plochým dokumentom, kde vertikalita pomáha čítaniu. Podstatná je koherencia v rovnakom projekte. Náš nástroj používa defaultne 4 medzery, v súlade s pretty print json_encode(JSON_PRETTY_PRINT) v PHP.
Čo robiť, ak môj JSON obsahuje Unicode znaky alebo emoji?
JSON natívne podporuje UTF-8. Emoji, akcenty, CJK znaky a ostatné nelatinské skripty sú zachované tak, ako sú, vo formátovanom výstupe. Ak váš JSON používa Unicode escapovanie (é pre é), zostáva validný, ale formátor ho neprepíše na natívny znak. Pre normalizáciu preneste cez striktný parser ako JSON.parse nasledovaný JSON.stringify.
Ukážka požiadavky
curl -X POST https://cdrn.fr/api/v1/tools/json-formatter/execute \
-H "Content-Type: application/json" \
-d '{"input":"..."}'
Vstupná schéma
| Pole | Typ | Povinné | Predvolené |
|---|---|---|---|
input |
text | ✓ | – |
Koncové body
GET https://cdrn.fr/api/v1/tools- vypíše všetky dostupné nástrojeGET https://cdrn.fr/api/v1/tools/json-formatter- získa schému tohto nástrojaPOST https://cdrn.fr/api/v1/tools/json-formatter/execute- spustí tento nástroj s JSON payloadom