# JSON formatter ja validaattori

> JSON formatter ja validaattori verkossa. Muotoile tai tiivistä JSON, näe virheen rivi ja sarake ja korjaa ylimääräiset pilkut yhdellä napsautuksella.

URL: https://acrafto.com/fi/json-formatter-validaattori/  
Updated: 2026-10-03

Tools are interactive browser apps; there is no public API, no endpoints to call and no server-side processing. To use a tool, open its HTML page in a browser.

Liitä mikä tahansa JSON yllä olevaan kenttään, niin tämä JSON formatter ja validaattori tarkistaa sen jo kirjoittaessasi. Kelvollinen syöte muotoillaan valitsemallasi sisennyksellä tai tiivistetään yhdelle riville (minify). Virheellisestä syötteestä saat tarkan virheilmoituksen rivin ja sarakkeen kanssa, korostetun otteen ja tavallisimpiin virheisiin korjauksen yhdellä napsautuksella. Kaikki tapahtuu selaimessasi, joten API-vastaukset, konfiguraatiotiedostot ja datavienit eivät koskaan poistu tietokoneeltasi.

## Mitä tämä JSON formatter tekee

- **Muotoile JSON** (beautify) kahden tai neljän välilyönnin tai sarkainten sisennyksellä. Tulos säilyttää avainten alkuperäisen järjestyksen, ellet valitse kohtaa *Järjestä avaimet*.
- **Tiivistä JSON** (minify) poistamalla kaikki välilyönnit ja rivinvaihdot. Tuloksen alla oleva kokolukema näyttää, montako tavua säästit.
- **Validoi JSON** reaaliajassa nykyistä JSON-standardia [RFC 8259](https://datatracker.ietf.org/doc/html/rfc8259) vasten. Tilarivi muuttuu vihreäksi heti, kun dokumentti on oikein.
- **Korjaa yleiset virheet** automaattisesti: ylimääräiset pilkut, yksinkertaiset lainausmerkit, avaimet ilman lainausmerkkejä, kommentit, Pythonin tyyliset `True`, `None` ja `NaN` sekä luvut kuten `.5` tai `+1`.
- **Avaa tiedostoja** *Avaa tiedosto* -painikkeella tai vetämällä `.json`\-tiedoston syötekenttään. Lataa sitten tulos tai siirrä se takaisin syötteeksi uutta käsittelykertaa varten.

## Miksi virheilmoitus on tärkeämpi kuin punainen väri

Useimmat verkon JSON-validaattorit kertovat vain, että jokin on vialla. Selaimet eivät ole paljon parempia: Chromen `JSON.parse` ilmoittaa `Unexpected token } in JSON at position 148` ja Firefox `expected property name or '}'`, eikä kumpikaan kerro, mitä riviä pitäisi katsoa. Tässä työkalussa on oma jäsennin, joka muistaa, mistä kohdasta jokainen merkki alkaa. Kun jäsennys pysähtyy, saat rivin ja sarakkeen, otteen kyseiseltä riviltä ^-merkillä virheellisen merkin alla sekä selkokielisen vihjeen, kuten *Kahden ominaisuuden välistä puuttuu luultavasti pilkku*. *Siirry virheeseen* -painike vie kursorin suoraan oikeaan kohtaan syötteessä.

Yleisimmät virheet, joita liitetyissä dokumenteissa näemme:

| Syöte | Ongelma | Oikea JSON |
| --- | --- | --- |
| `{'name': 'Ada'}` | yksinkertaiset lainausmerkit | `{"name": "Ada"}` |
| `{name: "Ada"}` | avain ilman lainausmerkkejä | `{"name": "Ada"}` |
| `[1, 2, 3,]` | ylimääräinen pilkku lopussa | `[1, 2, 3]` |
| `{"a": 1 "b": 2}` | puuttuva pilkku | `{"a": 1, "b": 2}` |
| `{"ok": True}` | Python-literaali | `{"ok": true}` |
| `{"x": 007}` | etunolla | `{"x": 7}` tai `{"x": "007"}` |
| `// comment` | kommentti | ei sallittu JSON:issa |

*Korjaa puolestani* -painike korjaa kaikki nämä paitsi puuttuvan pilkun ja etunollan. Korjaus on tarkoituksella varovainen: se ei koskaan arvaa, mihin puuttuva pilkku kuuluu, koska väärään kohtaan lisätty pilkku muuttaa datan merkitystä, ja `007` voi tarkoittaa lukua 7 tai koodia. Näissä tapauksissa saat sen sijaan tarkan sijainnin.

## Suuret luvut, avainten järjestys ja muut asiat, jotka tavallinen JSON formatter rikkoo

Monet formatterit toimivat kutsumalla ensin `JSON.parse` ja sitten `JSON.stringify`. Tämä edestakainen muunnos vahingoittaa dataa huomaamatta. Twitter- tai Snowflake-tunniste, kuten `1234567890123456789`, ylittää JavaScriptin lukujen 2^53-rajan ja palaa muodossa `1234567890123456800`. Arvosta `1.0` tulee `1` ja arvosta `1e3` tulee `1000`. Tämä formatter ei koskaan muunna lukuja liukuluvuiksi. Se kopioi jokaisen literaalin täsmälleen sellaisena kuin se on kirjoitettu, joten tulos on syötteen uskollinen uudelleenmuotoilu eikä sen uudelleentulkinta. Sama koskee merkkijonojen escape-sekvenssejä: `"\u00e9"` pysyy muodossa `"\u00e9"` eikä muutu muotoon `"é"`.

Myös avainten järjestys säilyy. JSON-määrittelyn mukaan objektin jäsenet ovat järjestämättömiä, mutta konfiguraatiotiedostoja, testiaineistoja ja koodikatselmointeja on paljon helpompi lukea, kun järjestys pysyy samana. Jos haluat kanonisen muodon esimerkiksi vertaillaksesi kahta API-vastausta diff-työkalussa, ota *Järjestä avaimet* käyttöön, niin kummankin dokumentin ominaisuudet listataan aakkosjärjestyksessä jokaisella sisäkkäisellä tasolla.

## JSON:in muotoilu vai tiivistys (minify): milloin kumpaakin käytetään

Muotoiltu JSON on ihmisiä varten. Käytä sitä, kun tarkastelet API-vastausta, kirjoitat tiedostoa kuten `package.json` tai `tsconfig.json` tai OpenAPI-dokumenttia, tai kun tallennat testiaineistoja repositorioon, jossa diffien pitäisi näyttää yksi muutos riviä kohden. Kaksi välilyöntiä on JavaScript-maailman käytäntö, neljä välilyöntiä on yleinen Python- ja .NET-projekteissa, ja sarkaimilla jokainen lukija voi valita sisennyksen leveyden itse.

Tiivistetty JSON on koneita varten. Välilyöntien ja rivinvaihtojen osuus muotoillusta dokumentista on tyypillisesti 20 ja 40 prosentin välillä, joten niiden poistaminen pienentää selaimille lähetettäviä vastauksia, Redisiin tai tietokannan sarakkeeseen tallennettuja arvoja sekä HTML:ään upotettuja `data-*`\-attribuutteja. Gzip kuroo osan erosta umpeen, mutta tiivistetty versio pakkautuu silti pienemmäksi. Tuloksen alla oleva kokolukema näyttää tarkan eron juuri sinun dokumentillesi.

## JSON:in käsittely terminaalissa ja editoreissa

Toistuvasti käsiteltäville tiedostoille komentorivityökalu on nopeampi kuin mikään verkkosivusto. `jq . file.json` muotoilee, `jq -c . file.json` tiivistää ja `python -m json.tool file.json` toimii kaikkialla, missä Python on asennettuna. Visual Studio Code muotoilee JSON:in pikanäppäimellä Shift+Alt+F ja validoi sen skeemaa vasten, kun lisäät `$schema`\-ominaisuuden. Tämä sivu on muita tilanteita varten: selaimen Network-välilehdeltä kopioitu vastaus, lokirivi, wikistä otettu konfiguraation pätkä tai nopea tarkistus koneella, jolle et voi asentaa mitään.

Muita tämän sivuston työkaluja: [Base64-kooderi ja -dekooderi](https://acrafto.com/fi/base64-kooderi-dekooderi/) purkaa JWT:n tietoja sisältävän osan (payload), joka on Base64url-koodattua JSON:ia. [UNIX-aikaleiman muunnin](https://acrafto.com/fi/unix-aikaleiman-muunnin/) muuttaa useimmissa API-vastauksissa esiintyvät `createdAt`\-luvut luettaviksi päivämääriksi, ja [UUID-dekooderi](https://acrafto.com/fi/uuid-dekooderi/) kertoo datasi tunnisteiden version ja aikaleiman. Lisää apuvälineitä löydät [kehittäjien työkaluista](https://acrafto.com/fi/kehittajat/).

## Usein kysytyt kysymykset

### Lähetetäänkö JSON-dataani palvelimelle?

Ei. Jäsennys, muotoilu ja korjaus tapahtuvat kokonaan selaimessasi JavaScriptillä. Kun sivu on latautunut, voit katkaista verkkoyhteyden ja työkalu toimii edelleen. Mitään ei kirjata lokiin eikä tallenneta.

### Miksi validaattori hylkää kommentit, vaikka editorini hyväksyy ne?

JSON:in kehittäjä Douglas Crockford poisti kommentit formaatista tarkoituksella, jotta niitä ei käytettäisi jäsentimen ohjauskäskyihin. Tiedostot kuten `tsconfig.json` tai `.vscode/settings.json` ovat teknisesti JSONC:tä, JSON:in laajennusta, jota editorit tukevat. API:en, tietokantojen ja useimpien ohjelmointikielten tiukat jäsentimet hylkäävät ne. Korjauspainike poistaa kommentit, joten tulos on kelvollinen kaikkialla.

### Voinko muotoilla JSON Lines -dataa tai useita objekteja kerralla?

JSON-dokumentti sisältää täsmälleen yhden arvon. Jos liität useita pilkuilla tai rivinvaihdoilla erotettuja objekteja, validaattori pysähtyy ensimmäiseen ylimääräiseen arvoon. Kääri ne hakasulkeisiin, jolloin niistä tulee taulukko, ja muotoile sitten. Korjauspainike ei tee tätä automaattisesti, koska se ei voi tietää, oliko syötteen tarkoitus olla yksi dokumentti.

### Mikä on suurin sallittu koko?

Kiinteää rajaa ei ole. Muutaman megatavun dokumentit muotoillaan kannettavalla tietokoneella selvästi alle sekunnissa. Syntaksin korostus kytketään pois noin 400 kB:n yläpuolella, jotta sivu pysyy nopeana, mutta kopiointi ja lataus toimivat edelleen.

### Muuttaako avainten järjestäminen dataa?

Ei. JSON:in objektit ovat määritelmän mukaan järjestämättömiä, katso [Wikipedian JSON-artikkeli](https://fi.wikipedia.org/wiki/JSON), joten jäsennin lukee järjestetyn ja alkuperäisen dokumentin samaksi arvoksi. Taulukoiden järjestystä ei koskaan muuteta, koska järjestys on osa dataa.

### Miten JSON upotetaan merkkijonon sisään?

Tiivistä JSON ensin ja lisää sitten jokaisen kenoviivan ja lainausmerkin eteen kenoviiva. Monissa kielissä tähän on valmis keino: JavaScriptissä `JSON.stringify(JSON.stringify(obj))` tai Pythonissa `json.dumps(json.dumps(obj))` tuottaa JSON-merkkijonon, joka sisältää JSON-tekstin.

## Other languages

- Čeština (cs): [JSON formatter a validátor](https://acrafto.com/cs/json-formatter-validator/) ([Markdown](https://acrafto.com/cs/json-formatter-validator/index.md))
- Slovenčina (sk): [JSON formatter a validátor](https://acrafto.com/sk/json-formatter-validator-online/) ([Markdown](https://acrafto.com/sk/json-formatter-validator-online/index.md))
- English (en): [JSON Formatter and Validator](https://acrafto.com/en/json-formatter-validator/) ([Markdown](https://acrafto.com/en/json-formatter-validator/index.md))
- Deutsch (de): [JSON Formatter & Validator](https://acrafto.com/de/json-formatter-validator/) ([Markdown](https://acrafto.com/de/json-formatter-validator/index.md))
- Français (fr): [JSON Formatter et validateur](https://acrafto.com/fr/formateur-validateur-json/) ([Markdown](https://acrafto.com/fr/formateur-validateur-json/index.md))
- Español (es): [Formateador y validador JSON](https://acrafto.com/es/formateador-validador-json/) ([Markdown](https://acrafto.com/es/formateador-validador-json/index.md))
- Italiano (it): [JSON formatter e validatore](https://acrafto.com/it/json-formatter-validatore-online/) ([Markdown](https://acrafto.com/it/json-formatter-validatore-online/index.md))
- Português (pt): [Formatador e validador JSON](https://acrafto.com/pt/formatador-validador-json/) ([Markdown](https://acrafto.com/pt/formatador-validador-json/index.md))
- Nederlands (nl): [JSON formatter & validator](https://acrafto.com/nl/json-formatter-validator/) ([Markdown](https://acrafto.com/nl/json-formatter-validator/index.md))
- Polski (pl): [JSON Formatter i walidator](https://acrafto.com/pl/json-formatter-i-walidator/) ([Markdown](https://acrafto.com/pl/json-formatter-i-walidator/index.md))
- Română (ro): [JSON formatter și validator](https://acrafto.com/ro/json-formatter-validator/) ([Markdown](https://acrafto.com/ro/json-formatter-validator/index.md))
- Magyar (hu): [JSON formatter és validátor](https://acrafto.com/hu/json-formatter-validator/) ([Markdown](https://acrafto.com/hu/json-formatter-validator/index.md))
- Ελληνικά (el): [JSON formatter και validator](https://acrafto.com/el/json-formatter-validator/) ([Markdown](https://acrafto.com/el/json-formatter-validator/index.md))
- Български (bg): [JSON formatter и валидатор](https://acrafto.com/bg/json-formatter-validator/) ([Markdown](https://acrafto.com/bg/json-formatter-validator/index.md))
- Hrvatski (hr): [JSON formatter i validator](https://acrafto.com/hr/json-formatter-validator-online/) ([Markdown](https://acrafto.com/hr/json-formatter-validator-online/index.md))
- Slovenščina (sl): [JSON formatter in validator](https://acrafto.com/sl/json-formatter-validator/) ([Markdown](https://acrafto.com/sl/json-formatter-validator/index.md))
- Eesti (et): [JSON formatter ja validaator](https://acrafto.com/et/json-formatter-validaator/) ([Markdown](https://acrafto.com/et/json-formatter-validaator/index.md))
- Latviešu (lv): [JSON formatter un validētājs](https://acrafto.com/lv/json-formatter-validetajs/) ([Markdown](https://acrafto.com/lv/json-formatter-validetajs/index.md))
- Lietuvių (lt): [JSON Formatter ir validatorius](https://acrafto.com/lt/json-formatter-validatorius/) ([Markdown](https://acrafto.com/lt/json-formatter-validatorius/index.md))
- Svenska (sv): [JSON formatter och validator](https://acrafto.com/sv/json-formatter-validator/) ([Markdown](https://acrafto.com/sv/json-formatter-validator/index.md))
- Dansk (da): [JSON formatter og validator](https://acrafto.com/da/json-formatter-validator/) ([Markdown](https://acrafto.com/da/json-formatter-validator/index.md))
- Norsk (no): [JSON formatter og validator](https://acrafto.com/no/json-formatter-validator/) ([Markdown](https://acrafto.com/no/json-formatter-validator/index.md))
- Українська (uk): [JSON Formatter і валідатор](https://acrafto.com/uk/json-formatter-i-validator/) ([Markdown](https://acrafto.com/uk/json-formatter-i-validator/index.md))
- Русский (ru): [JSON formatter и валидатор](https://acrafto.com/ru/json-formatter-validator/) ([Markdown](https://acrafto.com/ru/json-formatter-validator/index.md))
- Српски (sr): [JSON formatter i validator](https://acrafto.com/sr/json-formatter-i-validator/) ([Markdown](https://acrafto.com/sr/json-formatter-i-validator/index.md))
- Македонски (mk): [JSON Formatter & Validator](https://acrafto.com/mk/json-formatter-validator/) ([Markdown](https://acrafto.com/mk/json-formatter-validator/index.md))
- Bosanski (bs): [JSON formatter i validator](https://acrafto.com/bs/json-formatter-validator/) ([Markdown](https://acrafto.com/bs/json-formatter-validator/index.md))
- Shqip (sq): [JSON Formatter dhe validues](https://acrafto.com/sq/json-formatter-validues/) ([Markdown](https://acrafto.com/sq/json-formatter-validues/index.md))
- Türkçe (tr): [JSON formatter ve doğrulayıcı](https://acrafto.com/tr/json-formatter-dogrulayici/) ([Markdown](https://acrafto.com/tr/json-formatter-dogrulayici/index.md))
- 日本語 (ja): [JSON整形ツール](https://acrafto.com/ja/json-formatter-validator/) ([Markdown](https://acrafto.com/ja/json-formatter-validator/index.md))
- 한국어 (ko): [JSON 정렬 및 검사기](https://acrafto.com/ko/json-formatter-validator/) ([Markdown](https://acrafto.com/ko/json-formatter-validator/index.md))
- العربية (ar): [تنسيق JSON والتحقق منه](https://acrafto.com/ar/json-formatter-validator/) ([Markdown](https://acrafto.com/ar/json-formatter-validator/index.md))
- हिन्दी (hi): [JSON Formatter और Validator](https://acrafto.com/hi/json-formatter-validator/) ([Markdown](https://acrafto.com/hi/json-formatter-validator/index.md))
- Bahasa Indonesia (id): [JSON formatter dan validator](https://acrafto.com/id/json-formatter-validator/) ([Markdown](https://acrafto.com/id/json-formatter-validator/index.md))
- Tiếng Việt (vi): [JSON Formatter và Validator](https://acrafto.com/vi/json-formatter-kiem-tra-json/) ([Markdown](https://acrafto.com/vi/json-formatter-kiem-tra-json/index.md))
- ไทย (th): [JSON Formatter & Validator](https://acrafto.com/th/json-formatter-validator/) ([Markdown](https://acrafto.com/th/json-formatter-validator/index.md))
- עברית (he): [JSON Formatter ובדיקת תקינות](https://acrafto.com/he/json-formatter-validator/) ([Markdown](https://acrafto.com/he/json-formatter-validator/index.md))
