JSON formázása és behúzása
- Irányítópult
- Dokumentáció
- API
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.
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öztGET https://cdrn.fr/api/v1/tools/json-formatter- lekéri ezen eszköz sémájátPOST https://cdrn.fr/api/v1/tools/json-formatter/execute- végrehajtja ezen eszközt JSON payloaddal