🌐 SV

🔄 YAML ↔ JSON / CSV-konverterare

Konvertera YAML och JSON i båda riktningar. Användbart för att göra om konfigurationsfiler (docker-compose, GitHub Actions, k8s manifests) till JSON för programmatisk granskning, eller för att göra om JSON till lättläst YAML. Fliken JSON↔CSV konverterar platta array-data till CSV som är redo för kalkylblad.

GUIDE

Las mer

01

1. När ska man använda YAML jämfört med JSON?

JSON är optimerat för maskin-till-maskin-utbyte av data (API-svar, sparade konfigurationer) - dess strikta grammatik innebär färre överraskningar vid tolkning. YAML bygger på indrag, stöder kommentarer (#) och är lätt att läsa för människor, vilket är skälet till att det dominerar konfigurationsfiler: docker-compose.yml, GitHub Actions-workflows, Kubernetes manifests, Ansible playbooks. Använd det här verktyget för att göra om en YAML-konfiguration till JSON för programmatisk hantering, eller för att göra om JSON-data till prydlig, lättläst YAML.

02

2. Att tänka på vid konvertering

YAML kan uttrycka mer än JSON: anchors (&), aliases (*), multi-document-separatorer (---) och blockskalärer (| och >). När ett dokument med dessa konverteras till JSON expanderas anchors/aliases till sina bokstavliga värden, och bara det första av flera dokument konverteras. JSON→YAML är alltid säkert, eftersom JSON i princip är en delmängd av YAML. Se upp med strängar som ser ut som tal (t.ex. ett postnummer "01234") - utan citationstecken kan YAML tolka dem som siffror.

03

3. JSON ↔ CSV och nästlade strukturer

CSV kan bara representera en tabell (rader och kolumner), så det kan inte lagra JSON:s nästlade objekt/arrayer direkt. Det här verktyget plattar automatiskt ut nästlade objekt till kolumner med punktnotation som "user.name", "user.age", och CSV→JSON bygger upp den ursprungliga nästlade strukturen igen från dessa rubriker med punktnotation. Arrayvärden (t.ex. en tagglista) lagras som en rå JSON-sträng i cellen - säkrare att runda av via verktyget än att redigera för hand i ett kalkylblad.

Vanliga fragor

Vilken YAML-syntax stöds?
Vi använder biblioteket js-yaml, som stöder standardiserad YAML 1.2-syntax (mappningar, sekvenser, skalärer, kommentarer, anchors/aliases, blockskalärer, flera datatyper) - vilket täcker det mesta av verklig konfigurationsfilssyntax.
Vad händer med nästlade objekt i JSON→CSV?
De plattas automatiskt ut till kolumner med punktnotation som "parent.child". Till exempel blir {"user":{"name":"Kim"}} en kolumn "user.name" med värdet "Kim".
Kan jag konvertera JSON som innehåller arrayer till CSV?
Toppnivån måste vara en array av objekt (t.ex. [{"a":1}]). Arrayvärden inuti varje objekt (t.ex. en tagglista) lagras som en rå JSON-sträng i cellen.
Skickas min data till en server?
Nej. All konvertering sker helt i din webbläsare (JavaScript); inget du matar in skickas till en server.