---
seo_title: JSON in YAML API | JSON-Dateien in YAML konvertieren | EnConvert
meta_desc: Konvertieren Sie JSON in YAML mit POST /v1/convert/json-to-yaml. Block-Style, lesbare Ausgabe mit erhaltener Key-Reihenfolge. Rohe YAML-Bytes oder Presigned-URL.
keywords: json zu yaml api, json in yaml umwandeln api, json to yaml converter api, json config in yaml konvertieren, json datei zu yaml, rest api json nach yaml, json in yml umwandeln api
---

# JSON in YAML API

Konvertieren Sie eine JSON-Datei mit einem einzigen Request an `POST /v1/convert/json-to-yaml` in YAML. Die Konvertierung ist eine direkte Abbildung ohne Umstrukturierung: Die Ausgabe ist gut lesbares Block-Style-YAML mit der ursprünglichen Key-Reihenfolge und erhaltenen Unicode-Zeichen. Standardmäßig besteht die Antwort aus rohen YAML-Bytes; setzen Sie `direct_download=false`, um stattdessen Metadaten mit einer Presigned-Download-URL zu erhalten.

---

## Endpunkt

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

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

**Akzeptierte Eingabe:** `.json`-Dateien (UTF-8-kodiert)

**Ausgabeformat:** `.yaml` (`application/x-yaml`)

---

## 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 `.json`-Datei. Muss UTF-8-kodiert sein. |
| `output_filename` | `string` | Nein | Eingabedateiname | Eigener Ausgabedateiname. Die Endung `.yaml` wird automatisch angehängt. |
| `direct_download` | `boolean` | Nein | `true` | Bei `true` werden rohe YAML-Bytes zurückgegeben. Bei `false` Metadaten mit einer Presigned-Download-URL. |

---

## Konvertierungsregeln

Direkte Abbildung von JSON auf YAML ohne Umstrukturierung:

```json
{
  "database": {
    "host": "localhost",
    "port": 5432,
    "credentials": {
      "user": "admin",
      "password": "secret"
    }
  },
  "features": ["auth", "logging"]
}
```

Wird zu:

```yaml
database:
  host: localhost
  port: 5432
  credentials:
    user: admin
    password: secret
features:
- auth
- logging
```

- Die Ausgabe verwendet **Block-Style** (mehrzeilig, gut lesbar), keinen Flow-Style
- Die **Key-Reihenfolge des ursprünglichen JSON bleibt erhalten**
- Unicode-Zeichen bleiben unverändert erhalten

---

## Antwort

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

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

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

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

---

## Codebeispiele

### Python

```python
import requests

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

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

### Node.js

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

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

const yaml = await response.text();
```

### PHP

```php
$ch = curl_init("https://api.enconvert.com/v1/convert/json-to-yaml");
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.json", "application/json")]
]);
$yaml = curl_exec($ch);
curl_close($ch);
```

### Go

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

req, _ := http.NewRequest("POST", "https://api.enconvert.com/v1/convert/json-to-yaml", 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 `.json`-Datei |
| `400 Bad Request` | Ungültiger JSON-Inhalt |
| `400 Bad Request` | JSON-zu-YAML-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 |
| Monatliche Konvertierungen | Planabhängig |

## Häufig gestellte Fragen

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

Senden Sie einen `multipart/form-data`-POST-Request an `/v1/convert/json-to-yaml` mit Ihrer `.json`-Datei im Feld `file`, authentifiziert mit einem `X-API-Key`-Header oder einem JWT `Authorization: Bearer`-Token. Die Antwort ist das konvertierte YAML.

### Bleibt die Key-Reihenfolge bei der JSON-zu-YAML-Konvertierung erhalten?

Ja. Die Key-Reihenfolge des ursprünglichen JSON bleibt erhalten, Unicode-Zeichen werden unverändert übernommen, und die Struktur wird direkt abgebildet, ohne Umstrukturierung.

### Ist die YAML-Ausgabe im Block-Style oder Flow-Style?

Die Ausgabe verwendet Block-Style (mehrzeiliges, gut lesbares YAML) und keinen Inline-Flow-Style, wie im Konvertierungsbeispiel auf dieser Seite gezeigt.

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

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

### Warum gibt die JSON-zu-YAML-API 400 Bad Request zurück?

Ein `400` wird zurückgegeben, wenn die Datei keine `.json`-Datei ist, der Inhalt kein gültiges JSON ist oder die Konvertierung fehlschlägt. Dateien über dem Größenlimit Ihres Plans geben `413 Payload Too Large` zurück.
