JSON–YAML-muunnin
Muunna JSON YAML:ksi ja YAML JSONiksi selaimessa. Ankkurit, yhdistämisavaimet ja usean dokumentin tiedostot tuetaan. Mitään ei lähetetä palvelimelle.
Näin käytät JSON–YAML-muunninta
- Valitse suunta: JSON → YAML tai YAML → JSON.
- Liitä datasi tai napsauta Avaa tiedosto ladataksesi
.json-,.yaml- tai.yml-tiedoston (enintään 10 Mt). - Valitse Sisennys (2 tai 4 välilyöntiä) ja halutessasi Lajittele avaimet aakkosjärjestykseen.
- Napsauta Muunna tai jatka kirjoittamista: tulos päivittyy automaattisesti. Jos syöte on virheellinen, virheilmoitus kertoo ongelman rivin ja sarakkeen.
- Kopioi tai lataa tulos. Vaihda suunta lähettää tuloksen takaisin syötteeksi, jotta voit muuntaa sen toiseen suuntaan.
JSON ja YAML: sama data, eri syntaksi
YAML on käytännössä JSONin ylijoukko: jokainen JSON-dokumentti kuvaa dataa, jonka YAML pystyy ilmaisemaan, ja YAML lisää kevyemmän syntaksin, jota ihmisen on helpompi lukea ja muokata. Siksi Kubernetes-manifestit, Docker Compose -tiedostot, GitHub Actions- ja GitLab CI -putket, Ansible-playbookit ja OpenAPI-määritykset kirjoitetaan yleensä YAML:llä, kun taas rajapinnat ja ohjelmat vaihtavat JSONia.
Sama data molemmissa muodoissa:
{"name": "web", "ports": [80, 443], "env": {"DEBUG": false}}
name: web
ports:
- 80
- 443
env:
DEBUG: false
JSON → YAML
Muunnin kirjoittaa lohkotyylistä YAML:ää: yksi avain riviä kohden, listat ajatusviivoilla ja sisäkkäiset oliot sisennettyinä. Pitkiä merkkijonoja ei koskaan taiteta, ja monirivisissä merkkijonoissa käytetään kirjaimellista |-tyyliä, jotta rivinvaihdot säilyvät täsmälleen. Merkkijonot, jotka YAML muuten lukisi toisena tyyppinä, lainataan: "yes", "1.0" tai "null" pysyvät merkkijonoina edestakaisen muunnoksen jälkeen. Lajittele avaimet järjestää jokaisen olion avaimet aakkosjärjestykseen, mikä helpottaa kahden asetustiedoston vertailua.
YAML → JSON
YAML luetaan YAML 1.2 -ydinskeemalla, samoilla säännöillä, joita useimmat nykyaikaiset työkalut käyttävät:
true/false, luvut janull(tai~) muuttuvat JSON-arvoiksi.yes,no,onjaoffpysyvät merkkijonoina, kuten YAML 1.2 -määritys vaatii.- Ankkurit ja aliakset (
&base,*base) laajennetaan, ja yhdistämisavaimet (<<: *base), jotka ovat yleisiä CI-tiedostoissa, tuetaan. - Tiedosto, jossa on useita
----merkinnällä erotettuja dokumentteja, muuttuu JSON-taulukoksi, jossa on yksi alkio dokumenttia kohden, ja viesti kertoo, montako yhdistettiin. - Kommentit pudotetaan, koska JSONissa ei ole kommentteja.
.infja.naneivät ole JSONissa mahdollisia. Ne kirjoitetaan merkkijonoina"Infinity"ja"NaN".
Selaimesi suojaamiseksi ”billion laughs” -tiedostoilta, joissa muutama alias laajenee miljardeiksi arvoiksi, dokumentti, joka laajenee yli miljoonaksi arvoksi, hylätään.
Yleisiä YAML-virheitä
- Sarkaimet sisennykseen: YAML sallii vain välilyönnit.
- Epäjohdonmukainen sisennys: saman listan tai olion alkioiden on alettava samasta sarakkeesta.
- Välilyönti puuttuu kaksoispisteen jälkeen:
key:valueon yksi merkkijono, kun taaskey: valueon avain–arvo-pari. - Lainaamattomat erikoismerkit: arvo, joka alkaa merkillä
@, takaheittomerkillä,*,&tai!tai joka sisältää:tai#, on lainattava.
Usein kysytyt kysymykset
Lähetetäänkö tiedostoni palvelimelle?
Ei. Muunnos tapahtuu selaimessasi, eivätkä asetustiedostosi, salaisuutesi tai rajapintadatasi poistu tietokoneeltasi.
Miksi ”yes” ja ”no” eivät muutu totuusarvoiksi?
YAML 1.2:sta alkaen vain true ja false ovat totuusarvoja. Vanhemmat YAML 1.1 -jäsentimet käsittelivät yes, no, on ja off totuusarvoina, mikä aiheutti kuuluisan ”Norja-ongelman” (maakoodi NO luettiin arvoksi false). Tämä työkalu noudattaa YAML 1.2:ta.
Säilyvätkö YAML-kommentit?
Eivät. JSONissa ei ole kommentteja, joten ne katoavat muunnoksessa YAML → JSON. Kun muunnat JSON → YAML, voit lisätä kommentit tulokseen jälkikäteen.
Voinko muuntaa Kubernetes-tiedoston, jossa on useita resursseja?
Voit. Jokainen ----merkinnällä erotettu resurssi muuttuu JSON-taulukon yhdeksi alkioksi. Taulukon muuntaminen takaisin YAML:ksi antaa yhden dokumentin, joka sisältää listan.
Muuttaako muunnin avainten järjestystä?
Ei, ellet rastita Lajittele avaimet: avaimet säilyttävät järjestyksen, jossa ne esiintyvät syötteessäsi. Ainoa poikkeus tulee JavaScriptistä itsestään: avaimet, jotka ovat kokonaislukuja, kuten "10" tai "2", sijoitetaan ensimmäisiksi nousevassa järjestyksessä.
Aiheeseen liittyvät työkalut
- JSON-muotoilija ja -validaattori Ilmainen JSON-muotoilija ja -validaattori, joka siistii, pienentää ja tarkistaa JSONin selaimessa ja ilmoittaa syntaksivirheet rivin ja sarakkeen kanssa.
- JSON–CSV-muunnin Muunna JSON CSV:ksi ja CSV takaisin JSONiksi selaimessa. Sisäkkäiset avaimet litistetään sarakkeiksi, erottimet tunnistetaan, eikä mitään lähetetä palvelimelle.
- JSON–XML-muunnin Muunna JSON XML:ksi ja XML JSONiksi selaimessa. Attribuutit, toistuvat elementit ja CDATA käsitellään. Mitään ei lähetetä palvelimelle.