Formátovat a odsadit JSON

činí JSON kód čitelným a strukturovaným, usnadňuje čtení datových výměn mezi servery a aplikacemi

Proč JSON formátování?

JSON formátování umožňuje udělat JSON data čitelnější a srozumitelnější pro developery a uživatele. Usnadňuje to debugování, code review a analýzu dat, zejména když jde o komplexní a objemné JSON soubory. Dobře formátované JSON může být také snadněji integrováno do dokumentů a reportů.

Jak formátovat JSON

Na formátovací stránce můžete formátovat svůj JSON jeho vložením do textové oblasti k tomu určené nebo nahráním souboru obsahujícího JSON.

Jakmile je JSON odeslán, bude formátován a zobrazen v oblasti výsledků. Pokud je JSON nevalidní, chyba bude zobrazena s indikací povahy problému.

Použití formátovaného JSON

Můžete zkopírovat formátované JSON použitím kopírovacího tlačítka k tomu určeného. To usnadní integraci JSON do vašich projektů nebo reportů.

Váš JSON kód by měl vypadat 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"
                    }
                }
            ],
            "totalAmount": 999.99
        }
    ],
    "preferences": {
        "newsletter": true,
        "notifications": {
            "email": true,
            "sms": false
        },
        "theme": "dark"
    },
    "lastLogin": "2024-06-14T09:30:00Z"
}

    

Často kladené otázky

Jaký je rozdíl mezi JSON formátorem, validátorem a minifikátorem?

Formátor (beautifier) přepisuje kompaktní JSON do indentované a čitelné verze. Validátor pouze ověřuje, že syntaxe je konformní specifikaci (RFC 8259) a signalizuje chyby. Minifikátor dělá opak formátoru: odstraňuje všechny mezery pro snížení velikosti souboru. Náš nástroj kombinuje formátování a validaci: pokud je JSON nevalidní, chybová zpráva upřesňuje pozici problému.

Přijímá standardní JSON komentáře a koncové čárky?

Ne. JSON specifikace (RFC 8259) striktně zakazuje komentáře (// nebo /* */) a koncové čárky po posledním elementu pole nebo objektu. Pokud je potřebujete, podívejte se na JSON5 nebo JSONC, dvě rozšíření přijímající komentáře a koncové čárky, používaná zejména konfiguračními soubory VS Code a TypeScriptu.

Proč musí řetězce používat dvojité uvozovky?

JSON specifikace vnucuje dvojité uvozovky (") pro všechny řetězce a klíče objektů. Jednoduché uvozovky (') nejsou validní, i když je JavaScript přijímá. Častá chyba při kopírování z JS kódu je zachování jednoduchých uvozovek: formátor pak signalizuje chybu parsingu.

Jak spravovat velká čísla nebo desetinná čísla s velkou přesností?

JSON nerozlišuje celá od float čísel: vše je number. JavaScript parsery automaticky konvertují na Number, který ztrácí přesnost nad 2^53 (celá) a má float přesnost omezenou na 15 signifikantních číslic. Pro dlouhé identifikátory (Twitter ID, Discord snowflakes) nebo finanční částky je kódujte jako řetězec ("123456789012345678") pro zachování přesnosti.

Jakou indentaci zvolit: 2 nebo 4 mezery?

Indentace 2 mezerami je dominantní konvence (Prettier, ESLint default, npm konvence), zůstává čitelná i pro velmi vnořené dokumenty. Indentace 4 mezerami vyhovuje plochým dokumentům, kde vertikalita pomáhá čtení. Podstatná je konzistence ve stejném projektu. Náš nástroj používá výchozí 4 mezery, konformní s pretty print json_encode(JSON_PRETTY_PRINT) v PHP.

Co dělat, když můj JSON obsahuje Unicode znaky nebo emoji?

JSON nativně podporuje UTF-8. Emoji, diakritiky, CJK znaky a jiné nelatinské skripty jsou zachovány jak jsou ve formátovaném výstupu. Pokud váš JSON používá Unicode escape (é pro é), zůstává validní, ale formátor ho nepřepisuje na nativní znak. Pro normalizaci projděte přes striktní parser jako JSON.parse následovaný JSON.stringify.

Ukázka požadavku

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é Výchozí
input text

Koncové body

  • GET https://cdrn.fr/api/v1/tools - vypíše všechny dostupné nástroje
  • GET https://cdrn.fr/api/v1/tools/json-formatter - získá schéma tohoto nástroje
  • POST https://cdrn.fr/api/v1/tools/json-formatter/execute - spustí tento nástroj s JSON payloadem