XML til MessagePack konverter
Konverter data fra XML til MessagePack umiddelbart mens du skriver, rett i nettleseren.
Inndata
Utdata
Les meg
Hva er disse dataformatene?
Programmer lagrer og utveksler strukturerte data, som innstillinger, poster og lister, i tekstformater som hver skriver dataene på sin egen måte. En konverter er nyttig når ett program gir deg data i et format som et annet program ikke kan lese, eller når et format er enklere å lese eller redigere til oppgaven du skal utføre.
| Format | Slik skrives dataene | Hvor du finner det |
|---|---|---|
| JSON | Objekter i krøllparenteser, lister i hakeparenteser, tekst i doble anførselstegn | Web-API-er og appinnstillinger |
| YAML | Innrykkede key: value-linjer, listeelementer som starter med - |
Docker Compose, Kubernetes og CI-pipelinefiler |
| XML | Elementer i tagger, som kan ha attributter | Dokumenter, RSS-feeder og SOAP-webtjenester |
| TOML | key = value-linjer under overskrifter med [table] |
Konfigurasjonsfiler som Cargo.toml og pyproject.toml |
| TOON | Innrykkede linjer, med lister av poster som rader under feltene | Strukturerte data sendt til AI-språkmodeller |
| CSV | En overskriftsrad, deretter én linje per post med verdier atskilt med komma | Regneark og databaseeksporter |
| TSV | Som CSV, men med tabulatorer mellom verdiene | Celler kopiert fra et regneark |
| MessagePack | Binærdata, vist her som heksadesimale byteverdier | Kompakte meldinger mellom programmer |
| JSON5 | JSON som også tillater kommentarer, enkle anførselstegn og nøkler uten anførselstegn | Konfigurasjonsfiler skrevet for hånd |
| JSONL | Én JSON-verdi per linje, også kalt JSON Lines eller NDJSON | Logger og datasett |
| INI | key = value-linjer under overskrifter med [section] |
Innstillingsfiler for programmer, som php.ini |
| Properties | key = value-linjer med nøkler som inneholder punktum |
Java-apper, som application.properties-filer i Spring Boot |
Verktøybeskrivelse
Dette verktøyet konverterer data mellom disse 12 formatene: JSON, YAML, XML, TOML, TOON, CSV, TSV, MessagePack, JSON5, JSONL, INI og Java properties. Alle dat formatkonvertererne her fungerer på samme måte, fra den generelle dat formatkonvertereren til dem for ett enkelt formatpar, som JSON til YAML, CSV til JSON eller XML til JSON: Verktøyet starter med formatene som står i navnet, og menyene Kilde og Mål lar deg velge andre formater. Lim inn eller skriv inn dataene dine, så vises resultatet mens du skriver, i et kodeverktøy med syntaksutheving, klart til å kopieres. Bytteknappen snur konverteringen og gjør resultatet til det nye inndataformatet.
Når inndataene ikke er gyldige i kildeformatet, forteller feilmeldingen hva som er galt, vanligvis med linje og kolonne der problemet oppstår.
Dataene dine konverteres i nettleseren din og lastes aldri opp.
Eksempel
Denne JSON-en:
{
"users": [
{ "id": 1, "name": "Ann", "admin": true },
{ "id": 2, "name": "Bo", "admin": false }
]
}blir til denne YAML-en:
users:
- id: 1
name: Ann
admin: true
- id: 2
name: Bo
admin: falsedenne CSV-en, med én rad per bruker:
id,name,admin
1,Ann,true
2,Bo,falseog denne TOON-en:
users[2]{id,name,admin}:
1,Ann,true
2,Bo,falseSlik samsvarer formatene med hverandre
Formatene kan inneholde ulike typer data, så noen konverteringer følger disse reglene:
- CSV og TSV inneholder en tabell. Den første raden angir kolonnenavnene, og hver av de andre radene blir et objekt. Nestede objekter blir til kolonner med navn basert på banen, og lister blir til JSON-tekst i cellen. Dermed blir
{"name": "Ann", "address": {"city": "Oslo"}, "tags": ["a", "b"]}til kolonnenename,address.cityogtags. Når dataene konverteres tilbake, blir disse kolonnene igjen til nestede objekter og lister. Når dataene er et objekt som inneholder én liste, for eksempel{"users": [...]}, utgjør listeelementene radene, og en liste med lister blir til rader uten overskrift. - Tekstverdier: CSV, TSV, XML, INI og properties inneholder bare tekst, så konvertererne gjør
trueogfalseom til boolske verdier og tall skrevet på vanlig måte, som42eller3.5, om til tall. Verdier som007,1.50eller1e3forblir tekst, slik at postnumre og versjonsnumre beholder den nøyaktige skrivemåten. - XML-attributter blir til nøkler som begynner med
@, og teksten i et element som har attributter, blir til#text:<price currency="USD">44.95</price>blir til{"@currency": "USD", "#text": 44.95}. Gjentatte elementer blir til en liste. Ved konvertering til XML blir nøkler som begynner med@, til attributter igjen. Et objekt med én enkelt nøkkel der verdien ikke er en liste, blir rotelementet. Andre data legges inni et<root>-element, med hvert listeelement øverst i et<item>-element. Tegn som ikke kan brukes i XML-navn, for eksempel mellomrom, blir til_. - TOML, INI og properties kan bare inneholde navngitte verdier på øverste nivå, så data som er en liste, skrives under navnet
items, og en enkelt verdi undervalue. TOML har ingen null-verdi, så nullverdier utelates. - INI skriver nestede objekter som seksjoner, for eksempel
[server.ssl], lister med verdier somkey[] = value-linjer og lister med objekter som seksjoner navngitt etter plasseringen, for eksempel[users.0]. - Properties-nøkler setter sammen nestede navn med punktum og nummererer listeelementer i hakeparenteser, for eksempel
app.hosts[0], slik Spring Boot skriver dem. Når dataene konverteres til YAML eller JSON, blir disse nøklene til nestede objekter og lister, slik at enapplication.properties-fil konverteres til samme struktur som enapplication.yml-fil. Tegn utenfor Latin-1 skrives som\u-escape-sekvenser. - YAML-resultater setter anførselstegn rundt tekst som YAML 1.1-lesere ellers ville tolket som noe annet, for eksempel
on,yeseller en dato, slik at YAML 1.1- og YAML 1.2-lesere får de samme dataene. En YAML-fil med flere dokumenter atskilt av---blir til en liste med disse dokumentene, og<<-sammenslåingsnøkler fylles ut. - MessagePack er binært, så verktøyene leser og skriver det som heksadesimale byteverdier:
{"a": 1}er81 A1 61 01. Inndataene kan inneholde mellomrom, kommaer og0xforan hver byte. Flere meldinger etter hverandre blir til en liste. - JSONL-resultater har hvert listeelement på sin egen linje.
- Heltall som er for store for JavaScript-tall, for eksempel 64-biters ID-er, beholder alle sifrene.
- TOML-datoer og -klokkeslett, og MessagePack-tidsstempler, blir til tekst som
1979-05-27T07:32:00Z.
Tips
- Hvis du vil konvertere celler fra et regneark, kopierer du dem og limer dem inn som TSV: Regnearkapper kopierer celler som tabulatorseparert tekst.
- CSV og TSV passer til data som er en liste med lignende poster. Dypt nestede data er enklere å lese som YAML, TOML eller TOON.
- Kommentarer i YAML-, XML-, TOML-, JSON5-, INI- og properties-filer blir ikke beholdt, siden konvertererne bare overfører dataene.