Naar inhoud

YAML naar JSON

Zet YAML om naar JSON zonder dat waarden of types ongemerkt veranderen.

Uitvoer
Opties
Werkt in je browser – je gegevens worden niet geüpload.

Zo werkt het

  1. Plak je YAML in de editor.
  2. Open Opties en kies bij Getal- en booleansleutels voor Omzetten naar strings, of kies Weigeren om zulke sleutels af te wijzen. Bevat je bestand meerdere YAML-documenten, kies dan bij Meerdere documenten voor JSON-array.
  3. Kies bij Uitvoer voor Inspringing 2, Inspringing 4 of Minificeren.

Voorbeelden

Gedeelde instellingen met anchors

Invoer
standaard: &basis
  regio: nl
  retries: 3
webshop:
  <<: *basis
  domein: winkel.example.nl
  retries: 5
Uitvoer
{
    "standaard": {
        "regio": "nl",
        "retries": 3
    },
    "webshop": {
        "regio": "nl",
        "domein": "winkel.example.nl",
        "retries": 5
    }
}

OpenAPI-respons met een statuscode als sleutel

Invoer
openapi: 3.0.3
info:
  title: Voorraad-API
  version: 1.0.0
paths:
  /voorraad:
    get:
      responses:
        200:
          description: Voorraad opgehaald
Uitvoer
{"openapi":"3.0.3","info":{"title":"Voorraad-API","version":"1.0.0"},"paths":{"/voorraad":{"get":{"responses":{"200":{"description":"Voorraad opgehaald"}}}}}}

Twee Kubernetes-documenten als JSON-array

Invoer
apiVersion: v1
kind: Namespace
metadata:
  name: webshop
---
apiVersion: v1
kind: ConfigMap
metadata:
  name: instellingen
  namespace: webshop
data:
  taal: nl-NL
  tijdzone: Europe/Amsterdam
Uitvoer
[
  {
    "apiVersion": "v1",
    "kind": "Namespace",
    "metadata": {
      "name": "webshop"
    }
  },
  {
    "apiVersion": "v1",
    "kind": "ConfigMap",
    "metadata": {
      "name": "instellingen",
      "namespace": "webshop"
    },
    "data": {
      "taal": "nl-NL",
      "tijdzone": "Europe/Amsterdam"
    }
  }
]

Hoe YAML-types JSON worden

YAMLJSONOpmerking
name: Alice, "02134"stringGetallen tussen aanhalingstekens blijven strings.
30, 1.10, 0x1F, 12345678901234567890getalPrecies zoals in de YAML geschreven; hex en octaal worden decimaal.
true, Falsebooleanyes, no, on blijven strings (YAML 1.2).
null, ~, lege waardenull
2001-12-14, 12:30:00stringGeen verborgen omzetting naar timestamps.
lijsten, maps, anchors, <<-merge keysarray, objectAliassen worden uitgeschreven; de volgorde van sleutels blijft behouden.
.inf, .nan, !!binary, !Ref, lijst als sleutel—Fout met pad en regel, nooit een stille wijziging.

Veelgestelde vragen

Worden yes, no en on omgezet naar booleans?

Onder YAML 1.2 blijven yes, no, on en off strings; true en false worden booleans. Staat er een %YAML 1.1-directive in je document, dan gelden de YAML 1.1-regels en verschijnt daarover een melding.

Blijven grote getallen en decimalen exact behouden?

Grote gehele getallen, 1.10, 1e3 en -0 worden exact overgenomen. Hexadecimale en octale getallen worden decimaal geschreven, bijvoorbeeld 0x1F als 31.

Waarom kan mijn YAML niet naar JSON worden omgezet?

Dubbele sleutels, onbekende tags zoals !Ref, waarden zoals .inf en recursieve aliases stoppen de omzetting. Je krijgt een foutmelding met regel en kolom in plaats van uitvoer waarin gegevens ongemerkt veranderen.

Wordt mijn YAML naar een server verstuurd?

De omzetting gebeurt in je browser; de tool verstuurt je YAML of JSON niet naar een server. De invoer wordt niet opgeslagen; alleen je optie-instellingen worden in localStorage bewaard.