INI–CSV-muunnin
Muunna data muodosta INI muotoon CSV heti kirjoittaessasi, suoraan selaimessa.
Syöte
Tuloste
Lue lisää
Mitä nämä tietomuodot ovat?
Ohjelmat tallentavat ja vaihtavat rakenteista dataa, kuten asetuksia, tietueita ja luetteloita, tekstimuodoissa, joista kukin esittää datan omalla tavallaan. Muunnin on kätevä, kun jokin ohjelma antaa dataa muodossa, jota toinen ohjelma ei osaa lukea, tai kun jokin muoto on helpompi lukea tai muokata kyseistä tehtävää varten.
| Muoto | Miten data esitetään | Missä sitä käytetään |
|---|---|---|
| JSON | Oliot aaltosulkeissa, luettelot hakasulkeissa, teksti lainausmerkeissä | Web-rajapinnoissa ja sovellusten asetuksissa |
| YAML | Sisennetyt key: value -rivit, luettelon alkiot alkavat merkillä - |
Docker Composessa, Kubernetesissä ja CI-putkien tiedostoissa |
| XML | Elementit tageissa, joilla voi olla attribuutteja | Asiakirjoissa, RSS-syötteissä ja SOAP-verkkopalveluissa |
| TOML | key = value -rivit [table]-otsikoiden alla |
Asetustiedostoissa, kuten Cargo.toml ja pyproject.toml |
| TOON | Sisennetyt rivit, tietuetiedot luetteloina rivien muodossa kenttien alla | Rakenteisessa datassa, jota lähetetään tekoälyn kielimalleille |
| CSV | Otsikkorivi, jota seuraa yksi rivi kutakin tietuetta kohti; arvot erotetaan pilkuilla | Taulukkolaskennassa ja tietokantavienneissä |
| TSV | Kuten CSV, mutta arvot erotetaan sarkaimilla | Taulukkolaskennasta kopioiduissa soluissa |
| MessagePack | Binaaridataa, joka näytetään tässä heksadesimaalitavuina | Ohjelmien välisissä tiiviissä viesteissä |
| JSON5 | JSON, joka sallii myös kommentit, yksinkertaiset lainausmerkit ja lainausmerkeittä kirjoitetut avaimet | Käsin kirjoitetuissa asetustiedostoissa |
| JSONL | Yksi JSON-arvo riviä kohden; kutsutaan myös JSON Lines- tai NDJSON-muodoksi | Lokitiedoissa ja tietojoukoissa |
| INI | key = value -rivit [section]-otsikoiden alla |
Ohjelmien asetustiedostoissa, kuten php.ini |
| Ominaisuustiedostot | key = value -rivit pisteillä erotelluilla avaimilla |
Java-sovelluksissa, kuten Spring Bootin application.properties-tiedostoissa |
Työkalun kuvaus
Tämä työkalu muuntaa dataa näiden 12 muodon välillä: JSON, YAML, XML, TOML, TOON, CSV, TSV, MessagePack, JSON5, JSONL, INI ja Java properties. Kaikki tämän työkalun tietomuotomuuntimet toimivat samalla tavalla, yleisestä tietomuotomuuntimesta yksittäisen muotoparin muuntimiin, kuten JSONista YAMLiksi, CSV:stä JSONiksi tai XML:stä JSONiksi: muunnin avautuu nimessään mainituilla muodoilla, ja Lähde- ja Kohde-valikoista voi valita mitkä tahansa muut muodot. Liitä tai kirjoita data, niin tulos näkyy kirjoittaessasi syntaksikorostetussa koodieditorissa ja on valmis kopioitavaksi. Vaihtopainike kääntää muunnoksen suunnan ja asettaa tuloksen uudeksi syötteeksi.
Jos syöte ei ole kelvollinen lähdemuodossa, virheilmoitus kertoo, mikä on vialla, yleensä ongelman rivin ja sarakkeen.
Data muunnetaan selaimessasi, eikä sitä koskaan ladata palvelimelle.
Esimerkki
Tämä JSON:
{
"users": [
{ "id": 1, "name": "Ann", "admin": true },
{ "id": 2, "name": "Bo", "admin": false }
]
}muuttuu tällaiseksi YAMLiksi:
users:
- id: 1
name: Ann
admin: true
- id: 2
name: Bo
admin: falsetällaiseksi CSV:ksi, jossa on yksi rivi käyttäjää kohden:
id,name,admin
1,Ann,true
2,Bo,falseja tällaiseksi TOONiksi:
users[2]{id,name,admin}:
1,Ann,true
2,Bo,falseMiten muodot vastaavat toisiaan
Muodot eivät kaikki pysty esittämään samanlaisia tietoja, joten joissakin muunnoksissa noudatetaan seuraavia sääntöjä:
- CSV ja TSV sisältävät taulukon. Ensimmäinen rivi nimeää sarakkeet, ja jokaisesta muusta rivistä tulee olio. Sisäkkäisistä olioista tulee niiden polun mukaan nimetyt sarakkeet, ja luetteloista tulee soluihinsa JSON-tekstiä, joten
{"name": "Ann", "address": {"city": "Oslo"}, "tags": ["a", "b"]}muuttuu sarakkeiksiname,address.cityjatags. Takaisin muunnettaessa näistä sarakkeista tulee jälleen sisäkkäisiä olioita ja luetteloita. Kun data on olio, joka sisältää yhden luettelon, kuten{"users": [...]}, rivit muodostuvat luettelon alkioista, ja luetteloiden luettelosta tulee rivejä ilman otsikkoa. - Tekstiarvot: CSV, TSV, XML, INI ja properties sisältävät vain tekstiä, joten muuntimet muuttavat arvot
truejafalsetotuusarvoiksi sekä selkeästi kirjoitetut luvut, kuten42tai3.5, numeroiksi. Arvot, kuten007,1.50tai1e3, säilyvät tekstinä, jotta postinumerot ja versionumerot pysyvät täsmälleen alkuperäisessä muodossaan. - XML: attribuuteista tulee avaimia, joiden alussa on
@, ja attribuutteja sisältävän elementin tekstistä tulee#text:<price currency="USD">44.95</price>muuttuu muotoon{"@currency": "USD", "#text": 44.95}. Toistuvista elementeistä tulee luettelo. XML-muotoon muunnettaessa@-merkillä alkavista avaimista tulee jälleen attribuutteja. Oliosta, jossa on yksi avain, jonka arvo ei ole luettelo, tulee juurielementti. Muu data sijoitetaan<root>-elementtiin, ja luettelon ylimmän tason kukin alkio sijoitetaan<item>-elementtiin. Merkit, joita ei voi käyttää XML-nimissä, kuten välilyönnit, korvataan_-merkillä. - TOML, INI ja properties voivat sisältää ylimmällä tasolla vain nimettyjä arvoja, joten luettelomuotoinen data kirjoitetaan nimen
itemsalle ja yksittäinen arvo nimenvaluealle. TOML ei tue null-arvoja, joten ne jätetään pois. - INI kirjoittaa sisäkkäiset oliot osioiksi, kuten
[server.ssl], arvoluettelot riveiksi muodossakey[] = valueja olioluettelot sijaintinsa mukaan nimetyiksi osioiksi, kuten[users.0]. - Properties yhdistää sisäkkäiset nimet pisteillä ja merkitsee luettelon alkioiden järjestysnumerot hakasulkeisiin, kuten
app.hosts[0], Spring Bootin tapaan. YAML- tai JSON-muotoon muunnettaessa näistä avaimista tulee sisäkkäisiä olioita ja luetteloita, jotenapplication.properties-tiedosto muunnetaanapplication.yml-tiedoston rakennetta vastaavaksi. Latin-1-merkistön ulkopuoliset merkit kirjoitetaan\u-koodauksina. - YAML-tuloksissa lainausmerkkeihin laitetaan teksti, jonka YAML 1.1 -lukijat tulkitsisivat joksikin muuksi, kuten
on,yestai päivämäärä. Näin YAML 1.1- ja YAML 1.2 -lukijat saavat saman datan. YAML-tiedostosta, jossa on useita----merkillä erotettuja dokumentteja, tulee luettelo näistä dokumenteista, ja<<-yhdistämisavaimet täydennetään. - MessagePack on binaarimuoto, joten työkalut lukevat ja kirjoittavat sitä heksadesimaalisina tavuina:
{"a": 1}on81 A1 61 01. Syötteessä voi olla välilyöntejä, pilkkuja ja kunkin tavun edessä0x. Useista peräkkäisistä viesteistä tulee luettelo. - JSONL-tuloksissa kukin luettelon alkio on omalla rivillään.
- Kokonaisluvut, jotka ovat liian suuria JavaScriptin numeroiksi, kuten 64-bittiset tunnisteet, säilyttävät kaikki numeronsa.
- TOML-päivämääristä ja -ajoista sekä MessagePack-aikaleimoista tulee tekstiä, kuten
1979-05-27T07:32:00Z.
Vinkkejä
- Jos haluat muuntaa taulukkolaskennan soluja, kopioi ne ja liitä ne TSV-muodossa: taulukkolaskentasovellukset kopioivat solut sarkaimilla erotettuna tekstinä.
- CSV ja TSV sopivat dataan, joka koostuu samankaltaisten tietueiden luettelosta. Syvästi sisäkkäistä dataa on helpompi lukea YAML-, TOML- tai TOON-muodossa.
- YAML-, XML-, TOML-, JSON5-, INI- ja properties-tiedostojen kommentteja ei säilytetä, koska muuntimet siirtävät vain datan.