Formátovať a odsadiť JSON

robí JSON kód čitateľným a štruktúrovaným, uľahčuje čítanie dátových výmen medzi servermi a aplikáciami

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ástroje
  • GET https://cdrn.fr/api/v1/tools/json-formatter - získa schému tohto nástroja
  • POST https://cdrn.fr/api/v1/tools/json-formatter/execute - spustí tento nástroj s JSON payloadom