JSON formázása és behúzása

olvashatóvá és strukturálttá teszi a JSON kódot, megkönnyítve a szerverek és alkalmazások közötti adatcserék olvasását

Miért fontos a JSON formázás?

A JSON formázás lehetővé teszi, hogy a JSON adatok olvashatóbbak és érthetőbbek legyenek a fejlesztők és a felhasználók számára. Ez megkönnyíti a hibakeresést, a kód felülvizsgálatát és az adatelemzést, különösen komplex és nagyméretű JSON fájlok esetén. A jól formázott JSON könnyebben integrálható dokumentumokba és jelentésekbe is.

Hogyan formázzunk JSON-t

A formázási oldalon a JSON-t az erre a célra szolgáló szövegmezőbe beillesztve vagy egy JSON-t tartalmazó fájl feltöltésével formázhatja.

Uui

Amint elküldi a JSON-t, az formázásra kerül és megjelenik egy eredményzónában. Ha a JSON érvénytelen, hibaüzenet jelenik meg a probléma jellegére utaló jelzéssel.

A formázott JSON felhasználása

A formázott JSON-t a megfelelő másolás gombbal másolhatja ki. Ez megkönnyíti a JSON beépítését a projektjeibe vagy jelentéseibe.

Az Ön JSON kódjának így kellene kinéznie:


{
    "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"
}

    

Gyakori kérdések

Mi a különbség a JSON formázó, validátor és minifikáló között?

A formázó (beautifier) egy tömör JSON-t ír át behúzott és olvasható verzióra. A validátor csak azt ellenőrzi, hogy a szintaxis megfelel-e a specifikációnak (RFC 8259), és jelzi a hibákat. A minifikáló a formázó ellentétét teszi: minden szóközt eltávolít a fájlméret csökkentése érdekében. Eszközünk ötvözi a formázást és a validálást: ha a JSON érvénytelen, egy hibaüzenet pontosítja a probléma helyét.

Elfogadja a standard JSON a megjegyzéseket és a záró vesszőket?

Nem. A JSON specifikáció (RFC 8259) szigorúan tiltja a megjegyzéseket (// vagy /* */) és a tömb vagy objektum utolsó eleme utáni vesszőket (trailing comma). Ha ezekre szüksége van, nézze meg a JSON5 vagy a JSONC formátumokat, két olyan kiterjesztést, amely elfogadja a megjegyzéseket és a záró vesszőket, és amelyeket különösen a VS Code és a TypeScript konfigurációs fájljai használnak.

Miért kell a szövegeknél dupla idézőjelet használni?

A JSON specifikáció dupla idézőjelet (") ír elő minden szöveghez és minden objektumkulcshoz. Az egyszeres idézőjelek (') nem érvényesek, még akkor sem, ha a JavaScript elfogadja őket. Gyakori hiba a JS kódból történő másoláskor az egyszeres idézőjelek megtartása: a formázó ekkor elemzési hibát jelez.

Hogyan kezeljük a nagy számokat vagy a nagyon pontos tizedesjegyeket?

A JSON nem tesz különbséget az egészek és a lebegőpontos számok között: minden number. A JavaScript elemzők automatikusan Number típussá konvertálnak, amely 2^53 felett (egészek esetén) veszít a pontosságából, és a lebegőpontos pontossága 15 szignifikáns számjegyre korlátozódik. Hosszú azonosítók (Twitter ID-k, Discord snowflake-ek) vagy pénzügyi összegek esetén kódolja őket szövegként ("123456789012345678") a pontosság megőrzése érdekében.

Milyen behúzást válasszuk: 2 vagy 4 szóköz?

A 2 szóközös behúzás az uralkodó konvenció (Prettier, ESLint alapértelmezett, npm konvenciók), még a mélyen beágyazott dokumentumok esetén is olvasható marad. A 4 szóközös behúzás a lapos dokumentumokhoz alkalmas, ahol a függőlegesség segíti az olvasást. A legfontosabb a következetesség ugyanazon a projekten belül. Eszközünk alapértelmezés szerint 4 szóközt használ, ami megfelel a PHP json_encode(JSON_PRETTY_PRINT) függvényének.

Mi a teendő, ha a JSON-om Unicode karaktereket vagy emojikat tartalmaz?

A JSON natív módon támogatja az UTF-8-at. Az emojik, ékezetek, CJK karakterek és egyéb nem latin írásmódok változatlanul megmaradnak a formázott kimenetben. Ha a JSON Unicode escape-et használ (például é az é helyett), az továbbra is érvényes marad, de a formázó nem írja át natív karakterré. A normalizáláshoz használjon egy szigorú elemzőt, például a JSON.parse függvényt, majd a JSON.stringify-t.

Kérés példa

curl -X POST https://cdrn.fr/api/v1/tools/json-formatter/execute \
  -H "Content-Type: application/json" \
  -d '{"input":"..."}'

Bemeneti séma

Mező Típus Kötelező Alapértelmezett
input text

Végpontok

  • GET https://cdrn.fr/api/v1/tools - listázza az összes elérhető eszközt
  • GET https://cdrn.fr/api/v1/tools/json-formatter - lekéri ezen eszköz sémáját
  • POST https://cdrn.fr/api/v1/tools/json-formatter/execute - végrehajtja ezen eszközt JSON payloaddal