Properties naar TOON-converter
Zet data direct tijdens het typen om van Properties naar TOON, gewoon in je browser.
Invoer
Uitvoer
Readme
Wat zijn deze gegevensindelingen?
Programma's slaan gestructureerde gegevens op en wisselen ze uit, zoals instellingen, records en lijsten, in tekstindelingen die de gegevens elk op hun eigen manier weergeven. Een converter is handig wanneer een programma gegevens aanlevert in een indeling die een ander programma niet kan lezen, of wanneer een indeling voor de betreffende taak makkelijker te lezen of te bewerken is.
| Indeling | Hoe gegevens worden weergegeven | Waar u deze tegenkomt |
|---|---|---|
| JSON | Objecten tussen accolades, lijsten tussen vierkante haken, tekst tussen dubbele aanhalingstekens | Web-API's en app-instellingen |
| YAML | Ingesprongen regels met key: value, lijstitems beginnen met - |
Docker Compose, Kubernetes en CI-pijplijnbestanden |
| XML | Elementen in tags, die attributen kunnen hebben | Documenten, RSS-feeds en SOAP-webservices |
| TOML | Regels met key = value onder koppen als [table] |
Configuratiebestanden zoals Cargo.toml en pyproject.toml |
| TOON | Ingesprongen regels, met lijsten van records als rijen onder hun velden | Gestructureerde gegevens die naar AI-taalmodellen worden verzonden |
| CSV | Een kopregel, gevolgd door één regel per record, met waarden gescheiden door komma's | Spreadsheets en database-exporten |
| TSV | Net als CSV, maar met tabs tussen de waarden | Cellen die vanuit een spreadsheet zijn gekopieerd |
| MessagePack | Binaire gegevens, hier weergegeven als hexadecimale bytes | Compacte berichten tussen programma's |
| JSON5 | JSON, dat ook opmerkingen, enkele aanhalingstekens en sleutels zonder aanhalingstekens toestaat | Handgeschreven configuratiebestanden |
| JSONL | Eén JSON-waarde per regel, ook wel JSON Lines of NDJSON genoemd | Logboeken en datasets |
| INI | Regels met key = value onder koppen als [section] |
Instellingenbestanden van programma's, zoals php.ini |
| Properties | Regels met key = value en sleutels met punten |
Java-apps, zoals application.properties-bestanden van Spring Boot |
Beschrijving van de tool
Deze tool zet gegevens om tussen deze 12 indelingen: JSON, YAML, XML, TOML, TOON, CSV, TSV, MessagePack, JSON5, JSONL, INI en Java-properties. Elke converter voor gegevensindelingen werkt hier op dezelfde manier, van de algemene converter voor gegevensindelingen tot die voor één paar, zoals JSON naar YAML, CSV naar JSON of XML naar JSON: de tool begint met de indelingen die in de naam staan, en met de menu's Bron en Doel kunt u elke andere indeling kiezen. Plak of typ uw gegevens; het resultaat verschijnt terwijl u typt in een code-editor met syntaxiskleuring, klaar om te kopiëren. Met de wisselknop draait u de conversie om en wordt het resultaat de nieuwe invoer.
Als de invoer niet geldig is in de bronindeling, geeft het foutbericht aan wat er mis is, meestal met de regel en kolom waar het probleem zich voordoet.
Uw gegevens worden in uw browser omgezet en nooit geüpload.
Voorbeeld
Deze JSON:
{
"users": [
{ "id": 1, "name": "Ann", "admin": true },
{ "id": 2, "name": "Bo", "admin": false }
]
}wordt deze YAML:
users:
- id: 1
name: Ann
admin: true
- id: 2
name: Bo
admin: falsedeze CSV, met één rij per gebruiker:
id,name,admin
1,Ann,true
2,Bo,falseen deze TOON:
users[2]{id,name,admin}:
1,Ann,true
2,Bo,falseHoe de indelingen op elkaar worden afgestemd
Indelingen bevatten niet allemaal dezelfde soorten gegevens, dus voor sommige conversies gelden de volgende regels:
- CSV en TSV bevatten een tabel. De eerste rij bevat de kolomnamen en elke volgende rij wordt een object. Geneste objecten worden kolommen met namen op basis van hun pad, en lijsten worden JSON-tekst in hun cel. Zo wordt
{"name": "Ann", "address": {"city": "Oslo"}, "tags": ["a", "b"]}omgezet naar de kolommenname,address.cityentags. Bij het terug omzetten worden die kolommen weer geneste objecten en lijsten. Als de gegevens een object zijn met één lijst, zoals{"users": [...]}, vormen de items in die lijst de rijen. Een lijst met lijsten wordt omgezet naar rijen zonder kopregel. - Tekstwaarden: CSV, TSV, XML, INI en properties bevatten alleen tekst, dus de converters zetten
trueenfalseom in booleans en getallen die zonder extra notatie zijn geschreven, zoals42of3.5, in getallen. Waarden zoals007,1.50of1e3blijven tekst, zodat postcodes en versienummers hun exacte vorm behouden. - XML-attributen worden sleutels die beginnen met
@, en de tekst van een element met attributen wordt#text:<price currency="USD">44.95</price>wordt{"@currency": "USD", "#text": 44.95}. Elementen die meerdere keren voorkomen, worden een lijst. Bij conversie naar XML worden sleutels die beginnen met@weer attributen. Een object met één sleutel waarvan de waarde geen lijst is, wordt het hoofdelement. Andere gegevens komen in een element<root>, waarbij elk item van een lijst op het hoogste niveau in een element<item>wordt geplaatst. Tekens die niet in XML-namen mogen voorkomen, zoals spaties, worden_. - TOML, INI en properties kunnen op het hoogste niveau alleen benoemde waarden bevatten. Daarom worden lijstgegevens geschreven onder de naam
itemsen een enkele waarde ondervalue. TOML heeft geen null-waarde, dus null-waarden worden weggelaten. - INI schrijft geneste objecten als secties, zoals
[server.ssl], lijsten met waarden als regels van het typekey[] = valueen lijsten met objecten als secties met een naam op basis van hun positie, zoals[users.0]. - Properties-sleutels voegen geneste namen samen met punten en nummeren lijstitems tussen vierkante haken, zoals
app.hosts[0], volgens de manier waarop Spring Boot ze schrijft. Bij conversie naar YAML of JSON worden die sleutels geneste objecten en lijsten, zodat eenapplication.properties-bestand wordt omgezet naar de indeling van eenapplication.yml-bestand. Tekens buiten Latin-1 worden geschreven als\u-escapes. - YAML-resultaten zetten aanhalingstekens rond tekst die YAML 1.1-lezers als iets anders zouden interpreteren, zoals
on,yesof een datum, zodat YAML 1.1- en YAML 1.2-lezers dezelfde gegevens krijgen. Een YAML-bestand met meerdere documenten, gescheiden door---, wordt een lijst met die documenten, en<<-samenvoegsleutels worden ingevuld. - MessagePack is binair, dus de tools lezen en schrijven het als hexadecimale bytes:
{"a": 1}is81 A1 61 01. De invoer mag spaties en komma's bevatten, en mag elke byte vooraf laten gaan door0x. Meerdere berichten achter elkaar worden een lijst. - JSONL-resultaten plaatsen elk item van de lijst op een eigen regel.
- Gehele getallen die te groot zijn voor JavaScript-getallen, zoals ID's van 64 bits, behouden al hun cijfers.
- TOML-datums en -tijden, en MessagePack-tijdstempels, worden tekst zoals
1979-05-27T07:32:00Z.
Tips
- Als u cellen uit een spreadsheet wilt omzetten, kopieert u ze en plakt u ze als TSV: spreadsheet-apps kopiëren cellen als tekst met tabs als scheidingstekens.
- CSV en TSV zijn geschikt voor gegevens die bestaan uit een lijst met vergelijkbare records. Diep geneste gegevens zijn beter leesbaar als YAML, TOML of TOON.
- Opmerkingen in YAML-, XML-, TOML-, JSON5-, INI- en properties-bestanden worden niet behouden, omdat de converters alleen de gegevens overnemen.