---
seo_title: YAML in JSON API | YAML-Dateien in JSON konvertieren | EnConvert
meta_desc: Konvertieren Sie YAML in JSON mit POST /v1/convert/yaml-to-json. Sicheres Parsen, .yaml- oder .yml-Eingabe, formatierte JSON-Ausgabe mit 2 Leerzeichen Einrückung.
keywords: yaml zu json api, yaml in json umwandeln api, yaml to json converter api, yml in json konvertieren, yaml config zu json api, yaml sicher parsen json, yaml datei in json umwandeln, multi document yaml json
---

# YAML in JSON API

Konvertieren Sie eine YAML-Datei mit einem einzigen Request an `POST /v1/convert/yaml-to-json` in JSON. Der Endpunkt akzeptiert `.yaml`- oder `.yml`-Eingaben, nutzt sicheres Parsen (keine Ausführung beliebigen Codes) und erzeugt formatiertes (pretty-printed) JSON mit 2 Leerzeichen Einrückung. Antworten liefern standardmäßig rohe JSON-Bytes oder bei `direct_download=false` Metadaten mit einer Presigned-Download-URL.

---

## Endpunkt

```
POST /v1/convert/yaml-to-json
```

**Content-Type:** `multipart/form-data`

**Akzeptierte Eingabe:** `.yaml`- oder `.yml`-Dateien (UTF-8-kodiert)

**Ausgabeformat:** `.json` (`application/json`)

---

## Authentifizierung

Erfordert entweder einen privaten API-Key oder ein von einem Public Key ausgestelltes JWT-Token.

```
X-API-Key: sk_your_private_key
```

Oder:

```
Authorization: Bearer <jwt_token>
```

---

## Request-Parameter

| Parameter | Typ | Erforderlich | Standard | Beschreibung |
|-----------|------|----------|---------|-------------|
| `file` | file | Ja | -- | Die zu konvertierende `.yaml`- oder `.yml`-Datei. Muss UTF-8-kodiert sein. |
| `output_filename` | `string` | Nein | Eingabedateiname | Eigener Ausgabedateiname. Die Endung `.json` wird automatisch angehängt. |
| `direct_download` | `boolean` | Nein | `true` | Bei `true` werden rohe JSON-Bytes zurückgegeben. Bei `false` Metadaten mit einer Presigned-Download-URL. |

---

## Konvertierungsregeln

Direkte Abbildung von YAML auf JSON:

```yaml
database:
  host: localhost
  port: 5432
features:
- auth
- logging
enabled: true
```

Wird zu:

```json
{
  "database": {
    "host": "localhost",
    "port": 5432
  },
  "features": ["auth", "logging"],
  "enabled": true
}
```

- Verwendet **sicheres Parsen** -- keine Konstruktion beliebiger Python-Objekte aus YAML-Tags
- YAML-Typen werden natürlich abgebildet: Strings, Zahlen, Booleans, Nulls, Arrays, Objekte
- Die Ausgabe ist mit 2 Leerzeichen eingerückt, Unicode bleibt erhalten

<div class="alert alert-info">
<strong>Hinweis:</strong> Es wird nur das erste YAML-Dokument konvertiert. Bei Multi-Dokument-YAML-Dateien, die durch <code>---</code> getrennt sind, wird nur das erste Dokument verarbeitet.
</div>

---

## Antwort

### Direkter Download (`direct_download=true`, Standard)

```
HTTP 200 OK
Content-Type: application/json
Content-Disposition: inline; filename="config_20260405_123456789.json"
```

### Metadaten-Antwort (`direct_download=false`)

```json
{
    "presigned_url": "https://spaces.example.com/...",
    "object_key": "env/files/{project_id}/yaml-to-json/config_20260405_123456789.json",
    "filename": "config_20260405_123456789.json",
    "file_size": 1234,
    "conversion_time_seconds": 0.03
}
```

---

## Codebeispiele

### Python

```python
import requests

with open("config.yaml", "rb") as f:
    response = requests.post(
        "https://api.enconvert.com/v1/convert/yaml-to-json",
        headers={"X-API-Key": "sk_your_private_key"},
        files={"file": ("config.yaml", f, "application/x-yaml")}
    )

with open("config.json", "wb") as out:
    out.write(response.content)
```

### Node.js

```javascript
const form = new FormData();
form.append("file", fs.createReadStream("config.yaml"));

const response = await fetch("https://api.enconvert.com/v1/convert/yaml-to-json", {
    method: "POST",
    headers: { "X-API-Key": "sk_your_private_key" },
    body: form
});

const json = await response.json();
```

### PHP

```php
$ch = curl_init("https://api.enconvert.com/v1/convert/yaml-to-json");
curl_setopt_array($ch, [
    CURLOPT_POST => true,
    CURLOPT_RETURNTRANSFER => true,
    CURLOPT_HTTPHEADER => ["X-API-Key: sk_your_private_key"],
    CURLOPT_POSTFIELDS => ["file" => new CURLFile("config.yaml")]
]);
$json = curl_exec($ch);
curl_close($ch);
```

### Go

```go
body := &bytes.Buffer{}
writer := multipart.NewWriter(body)
part, _ := writer.CreateFormFile("file", "config.yaml")
file, _ := os.Open("config.yaml")
io.Copy(part, file)
writer.Close()

req, _ := http.NewRequest("POST", "https://api.enconvert.com/v1/convert/yaml-to-json", body)
req.Header.Set("Content-Type", writer.FormDataContentType())
req.Header.Set("X-API-Key", "sk_your_private_key")
resp, _ := http.DefaultClient.Do(req)
```

---

## Fehlerantworten

| Status | Bedingung |
|--------|-----------|
| `400 Bad Request` | Datei ist keine `.yaml`- oder `.yml`-Datei |
| `400 Bad Request` | Ungültiger YAML-Inhalt |
| `400 Bad Request` | YAML-zu-JSON-Konvertierung fehlgeschlagen |
| `401 Unauthorized` | Fehlender oder ungültiger API-Key / JWT-Token |
| `402 Payment Required` | Monatliches Ops-Kontingent aufgebraucht |
| `413 Payload Too Large` | Datei überschreitet die maximale Dateigröße des Plans |

---

## Limits

| Limit | Wert |
|-------|-------|
| Maximale Dateigröße | Planabhängig (Founding: 5 MB) |
| Eingabekodierung | Nur UTF-8 |
| YAML-Dokumente | Nur das erste Dokument |
| Monatliche Konvertierungen | Planabhängig |

## Häufig gestellte Fragen

### Wie konvertiere ich YAML in JSON über eine REST API?

Senden Sie einen `multipart/form-data`-POST-Request an `/v1/convert/yaml-to-json` mit Ihrer `.yaml`- oder `.yml`-Datei im Feld `file`, authentifiziert mit einem `X-API-Key`-Header oder einem JWT `Authorization: Bearer`-Token. Die Antwort ist formatiertes JSON mit 2 Leerzeichen Einrückung.

### Ist es sicher, nicht vertrauenswürdige YAML-Dateien in JSON zu konvertieren?

Der Endpunkt nutzt sicheres Parsen: keine Konstruktion beliebiger Python-Objekte aus YAML-Tags und keine Ausführung beliebigen Codes. YAML-Typen werden natürlich auf JSON-Strings, -Zahlen, -Booleans, -Nulls, -Arrays und -Objekte abgebildet.

### Kann ich Multi-Dokument-YAML-Dateien in JSON konvertieren?

Es wird nur das erste YAML-Dokument konvertiert. Bei Dateien mit mehreren durch `---` getrennten Dokumenten wird alles nach dem ersten Dokument nicht verarbeitet.

### Werden .yml-Dateien ebenso akzeptiert wie .yaml?

Ja. Sowohl die Endung `.yaml` als auch `.yml` wird akzeptiert; jede andere Endung gibt `400 Bad Request` zurück. Dateien müssen UTF-8-kodiert sein.

### Kann ich statt roher JSON-Bytes eine Presigned-Download-URL erhalten?

Ja. Setzen Sie `direct_download=false`, um Metadaten mit `presigned_url`, `object_key`, `filename`, `file_size` und `conversion_time_seconds` zu erhalten.
