Konwerter TSV na Properties
Konwertuj dane z formatu TSV na Properties natychmiast podczas pisania, bezpośrednio w przeglądarce.
Wejście
Wyjście
Instrukcja
Czym są te formaty danych?
Programy zapisują i wymieniają ustrukturyzowane dane, takie jak ustawienia, rekordy i listy, w formatach tekstowych, z których każdy zapisuje je na swój sposób. Konwerter przydaje się, gdy jeden program udostępnia dane w formacie, którego inny program nie odczytuje, albo gdy dany format łatwiej odczytać lub edytować na potrzeby konkretnego zadania.
| Format | Sposób zapisu danych | Gdzie można go spotkać |
|---|---|---|
| JSON | Obiekty w nawiasach klamrowych, listy w nawiasach kwadratowych, tekst w cudzysłowach | API internetowe i ustawienia aplikacji |
| YAML | Wiersze key: value z wcięciami, elementy listy zaczynające się od - |
Pliki Docker Compose, Kubernetes i potoków CI |
| XML | Elementy w tagach, które mogą mieć atrybuty | Dokumenty, kanały RSS i usługi internetowe SOAP |
| TOML | Wiersze key = value pod nagłówkami [table] |
Pliki konfiguracyjne, takie jak Cargo.toml i pyproject.toml |
| TOON | Wiersze z wcięciami, listy rekordów zapisane w wierszach pod ich polami | Ustrukturyzowane dane wysyłane do modeli językowych AI |
| CSV | Wiersz nagłówka, a następnie jeden wiersz na rekord, wartości oddzielone przecinkami | Arkusze kalkulacyjne i eksporty baz danych |
| TSV | Podobnie jak CSV, ale wartości są oddzielone tabulatorami | Komórki skopiowane z arkusza kalkulacyjnego |
| MessagePack | Dane binarne, przedstawione tutaj jako bajty szesnastkowe | Kompaktowe komunikaty między programami |
| JSON5 | JSON, który dopuszcza również komentarze, apostrofy i klucze bez cudzysłowów | Ręcznie edytowane pliki konfiguracyjne |
| JSONL | Jedna wartość JSON w każdym wierszu, znana również jako JSON Lines lub NDJSON | Dzienniki i zbiory danych |
| INI | Wiersze key = value pod nagłówkami [section] |
Pliki ustawień programów, takie jak php.ini |
| Properties | Wiersze key = value z kluczami rozdzielanymi kropkami |
Aplikacje Java, takie jak pliki application.properties w Spring Boot |
Opis narzędzia
To narzędzie konwertuje dane między tymi 12 formatami: JSON, YAML, XML, TOML, TOON, CSV, TSV, MessagePack, JSON5, JSONL, INI i Java properties. Wszystkie dostępne tutaj konwertery formatów danych działają tak samo — zarówno ogólny konwerter formatów danych, jak i konwertery dla pojedynczych par, na przykład JSON na YAML, CSV na JSON czy XML na JSON. Po otwarciu wybrane są formaty wskazane w nazwie narzędzia, a menu Źródło i Cel pozwalają wybrać dowolne inne. Wklej lub wpisz dane, a wynik będzie wyświetlany na bieżąco w edytorze kodu z podświetlaniem składni i będzie gotowy do skopiowania. Przycisk zamiany odwraca kierunek konwersji i ustawia wynik jako nowe dane wejściowe.
Jeśli dane wejściowe są nieprawidłowe w formacie źródłowym, komunikat o błędzie wyjaśnia, co jest nie tak, zwykle podając wiersz i kolumnę, w których występuje problem.
Dane są konwertowane w przeglądarce i nigdy nie są przesyłane na serwer.
Przykład
Ten JSON:
{
"users": [
{ "id": 1, "name": "Ann", "admin": true },
{ "id": 2, "name": "Bo", "admin": false }
]
}zmienia się w taki YAML:
users:
- id: 1
name: Ann
admin: true
- id: 2
name: Bo
admin: falsew taki CSV, z jednym wierszem na użytkownika:
id,name,admin
1,Ann,true
2,Bo,falseoraz w taki TOON:
users[2]{id,name,admin}:
1,Ann,true
2,Bo,falseJak poszczególne formaty odwzorowują dane
Nie wszystkie formaty mogą przechowywać te same rodzaje danych, dlatego niektóre konwersje podlegają następującym zasadom:
- CSV i TSV przechowują tabelę. Pierwszy wiersz zawiera nazwy kolumn, a każdy kolejny wiersz staje się obiektem. Zagnieżdżone obiekty stają się kolumnami o nazwach odpowiadających ich ścieżkom, a listy są zapisywane w komórkach jako tekst JSON. Na przykład
{"name": "Ann", "address": {"city": "Oslo"}, "tags": ["a", "b"]}zmienia się w kolumnyname,address.cityitags. Po konwersji w drugą stronę te kolumny ponownie stają się zagnieżdżonymi obiektami i listami. Gdy dane są obiektem zawierającym jedną listę, na przykład{"users": [...]}, wiersze odpowiadają elementom tej listy, a lista list staje się wierszami bez nagłówka. - Wartości tekstowe: CSV, TSV, XML, INI i properties przechowują wyłącznie tekst, dlatego konwertery zamieniają
trueifalsena wartości logiczne true i false, a liczby zapisane w prostym formacie, takie jak42lub3.5, na liczby. Wartości takie jak007,1.50czy1e3pozostają tekstem, dzięki czemu kody pocztowe i numery wersji zachowują dokładny zapis. - Atrybuty XML stają się kluczami zaczynającymi się od
@, a tekst elementu zawierającego atrybuty staje się wartością#text:<price currency="USD">44.95</price>zmienia się w{"@currency": "USD", "#text": 44.95}. Powtarzające się elementy stają się listą. Podczas konwersji do XML klucze zaczynające się od@ponownie stają się atrybutami. Obiekt z jednym kluczem, którego wartość nie jest listą, staje się elementem głównym. Pozostałe dane są umieszczane w elemencie<root>, a każdy element listy znajdującej się na najwyższym poziomie — w elemencie<item>. Znaki niedozwolone w nazwach XML, takie jak spacje, są zastępowane znakiem_. - TOML, INI i properties mogą przechowywać na najwyższym poziomie wyłącznie nazwane wartości, dlatego dane będące listą są zapisywane pod nazwą
items, a pojedyncza wartość — pod nazwąvalue. TOML nie obsługuje wartości null, dlatego są one pomijane. - INI zapisuje zagnieżdżone obiekty jako sekcje, takie jak
[server.ssl], listy wartości jako wierszekey[] = value, a listy obiektów jako sekcje nazwane według ich pozycji, takie jak[users.0]. - Klucze w properties łączą zagnieżdżone nazwy kropkami, a elementy list numerują w nawiasach kwadratowych, na przykład
app.hosts[0], zgodnie ze sposobem zapisu stosowanym przez Spring Boot. Po konwersji do YAML lub JSON takie klucze stają się zagnieżdżonymi obiektami i listami, więc plikapplication.propertieszostaje przekształcony do układu plikuapplication.yml. Znaki spoza zestawu Latin-1 są zapisywane jako sekwencje ucieczki\u. - Wyniki YAML ujmują w cudzysłów tekst, który czytniki YAML 1.1 zinterpretowałyby inaczej, na przykład
on,yeslub datę, dzięki czemu czytniki YAML 1.1 i YAML 1.2 otrzymują te same dane. Plik YAML zawierający kilka dokumentów rozdzielonych przez---staje się ich listą, a klucze scalania<<są rozwijane. - MessagePack jest formatem binarnym, dlatego narzędzia odczytują go i zapisują jako bajty szesnastkowe:
{"a": 1}to81 A1 61 01. Dane wejściowe mogą zawierać spacje, przecinki i prefiks0xprzed każdym bajtem. Kilka komunikatów zapisanych jeden po drugim staje się listą. - Wyniki JSONL zawierają każdy element listy w osobnym wierszu.
- Liczby całkowite zbyt duże, by można je było zapisać jako liczby JavaScript, takie jak identyfikatory 64-bitowe, zachowują wszystkie cyfry.
- Daty i godziny TOML oraz znaczniki czasu MessagePack stają się tekstem, na przykład
1979-05-27T07:32:00Z.
Wskazówki
- Aby przekonwertować komórki z arkusza kalkulacyjnego, skopiuj je i wklej jako TSV: aplikacje arkuszy kalkulacyjnych kopiują komórki jako tekst rozdzielony tabulatorami.
- CSV i TSV sprawdzają się w przypadku danych będących listą podobnych rekordów. Dane o głębokim zagnieżdżeniu łatwiej odczytać w formacie YAML, TOML lub TOON.
- Komentarze w plikach YAML, XML, TOML, JSON5, INI i properties nie są zachowywane, ponieważ konwertery przenoszą wyłącznie dane.