Formatirati i uvući JSON

čini JSON kod čitljivim i strukturiranim, olakšava čitanje podatkovnih razmjena između servera i aplikacija

Zašto JSON formatiranje?

JSON formatiranje čini JSON podatke čitljivijim i razumljivijim za programere i korisnicima. To posebno olakšava otklanjanje pogrešaka, pregled koda i analizu podataka kada radite sa složenim i velikim JSON datotekama. Dobro formatirani JSON također može biti lakše integrirati u dokumente i izvješća.

Kako formatirati JSON

Na stranici za oblikovanje možete formatirati svoj JSON tako da ga zalijepite u predviđeni tekstni okvir. učinak ili učitavanjem datoteke koja sadrži JSON.

Uui

Čim se JSON pošalje, bit će formatiran i prikazan u okviru s rezultatima. Ako je JSON nevažeći, prikazat će se pogreška s naznakom prirode problema.

Koristite formatirani JSON

Formatirani JSON možete kopirati pomoću gumba za kopiranje predviđenog za ovu svrhu. Ovo će olakšati integracija JSON-a u vaše projekte ili izvješća.

Vaš JSON kod trebao bi izgledati ovako:

<šifra>
{
    "id": 12345,
    "ime": "John Doe",
    "e-pošta": "johndoe@example.com",
    "adresa": {
        "ulica": "Glavna ulica 123",
        "grad": "Springfield",
        "stanje": "IT",
        "poštanski broj": "62704",
        "država": "SAD"
    },
    "telefonski brojevi": [
        {
            "tip": "dom",
            "broj": "555-1234"
        },
        {
            "vrsta": "posao",
            "broj": "555-5678"
        }
    ],
    "narudžbe": [
        {
            "ID narudžbe": 1001,
            "datum narudžbe": "2023-06-01T14:30:00Z",
            "stavke": [
                {
                    "productId": 2001,
                    "productName": "Laptop",
                    "količina": 1,
                    "cijena": 999,99,
                    "detalji": {
                        "proizvođač": "TechCorp",
                        "jamstvo": "2 godine"
                    }
                },
                {
                    "productId": 2002,
                    "productName": "Miš",
                    "količina": 2,
                    "cijena": 25,50,
                    "detalji": {
                        "proizvođač": "GadgetCo",
                        "jamstvo": "1 godina"
                    }
                }
            ],
            "ukupni iznos": 1051,49
        },
        {
            "ID narudžbe": 1002,
            "Datum narudžbe": "2023-06-10T10:15:00Z",
            "stavke": [
                {
                    "productId": 2003,
                    "productName": "Tipkovnica",
                    "količina": 1,
                    "cijena": 45,99,
                    "detalji": {
                        "proizvođač": "KeyMasters",
                        "jamstvo": "3 godine"
                    }
                }
            ],
            “totalAmount”: 45,99
        }
    ],
    "preferencije": {
        "bilten": točno,
        "obavijesti": {
            "e-pošta": istina,
            "sms": lažno
        },
        "tema": "tamno"
    },
    "lastLogin": "2024-06-14T09:30:00Z"
}

    

Često postavljana pitanja

Koja je razlika između JSON formattera, validatora i minifiera?

Formater (uljepšivač) prepisuje kompaktni JSON u uvučenu i čitljivu verziju. Validator samo provjerava je li sintaksa u skladu sa specifikacijom (RFC 8259) i prijavljuje pogreške. Minifier radi suprotno od formattera: uklanja sve razmake kako bi smanjio veličinu datoteke. Naš alat kombinira formatiranje i provjeru valjanosti: ako je JSON nevažeći, poruka o pogrešci navodi mjesto problema.

Prihvaća li standardni JSON komentare i zareze na kraju?

Ne. JSON specifikacija (RFC 8259) strogo zabranjuje komentare (// ili /* */) i zareze iza zadnjeg elementa niza ili objekta. Ako vam treba, pogledajte JSON5 ili JSONC, dva proširenja koja prihvaćaju komentare i zareze na kraju, a posebno ih koriste konfiguracijske datoteke VS Code i TypeScript.

Zašto bi nizovi trebali koristiti dvostruke navodnike?

JSON specifikacija zahtijeva dvostruke navodnike (") za sve nizove i sve ključeve objekata. Jednostruki navodnici (') nisu valjani, čak i ako ih JavaScript prihvaća. Uobičajena pogreška prilikom kopiranja iz JS koda je ostavljanje jednostrukih navodnika: formater tada prijavljuje pogrešku parsiranja.

Kako mogu rukovati velikim brojevima ili vrlo preciznim decimalnim brojevima?

JSON ne razlikuje cijele brojeve od brojeva s pomičnim zarezom: sve je broj. JavaScript parseri automatski pretvaraju u Number, koji gubi preciznost iznad 2^53 (cijeli brojevi) i ima preciznost pomičnog zareza ograničenu na 15 značajnih znamenki. Za dugačke identifikatore (Twitter ID-ovi, Discord snježne pahuljice) ili financijske iznose, kodirajte ih nizovima ("123456789012345678") kako biste sačuvali preciznost.

Koju uvlaku trebam odabrati: 2 ili 4 razmaka?

Uvlačenje od 2 razmaka je dominantna konvencija (Prettier, ESLint prema zadanim postavkama, npm konvencije), ostaje čitljivo čak i za vrlo ugniježđene dokumente. Uvlačenje od 4 razmaka prikladno je za ravne dokumente gdje okomitost pomaže pri čitanju. Glavna stvar je dosljednost unutar istog projekta. Naš alat prema zadanim postavkama koristi 4 razmaka, u skladu s lijepim ispisom json_encode(JSON_PRETTY_PRINT) u PHP-u.

Što trebam učiniti ako moj JSON sadrži Unicode znakove ili emojije?

JSON izvorno podržava UTF-8. Emojiji, akcenti, CJK znakovi i druga nelatinična pisma sačuvana su onakva kakva jesu u formatiranom izlazu. Ako vaš JSON koristi Unicode izbjegavanje (é za é), on ostaje važeći, ali ga formater ne prepisuje u izvorni znak. Za normalizaciju prođite kroz strogi parser kao što je JSON.parse nakon kojeg slijedi JSON.stringify.

Primjer zahtjeva

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

Ulazna shema

Polje Tip Obavezno Zadano
input text

Krajnje točke

  • GET https://cdrn.fr/api/v1/tools - ispisuje sve dostupne alate
  • GET https://cdrn.fr/api/v1/tools/json-formatter - dohvaća shemu ovog alata
  • POST https://cdrn.fr/api/v1/tools/json-formatter/execute - izvršava ovaj alat s JSON payloadom