0Pricing
JavaScript Academy · Lektion

Strategien zum sicheren Parsen von JSON

Nicht vertrauenswürdiges JSON mit try/catch, kleinen Strukturprüfungen, Standardwerten und kleinen Hilfsfunktionen sicher parsen

Strategien zum sicheren Parsen von JSON ist eine kostenlose JavaScript Academy-Lektion auf CoddyKit. Dies ist Lektion 3 von 3. Du kannst die komplette Lektion unten kostenlos lesen – dann übst du sie direkt im Browser mit einem integrierten Code-Editor und einem KI-Tutor rund um die Uhr. Sie ist Teil des JavaScript Academy-Lernpfads, und dein Fortschritt wird über Web und CoddyKit-App synchronisiert. Der JavaScript Academy-Kurs umfasst insgesamt 3 Lektionen.

Warum sicheres Parsen?

Ziel: JSON ohne Überraschungen lesen.

  • try/catch um parse
  • Kleine safeParse-Hilfsfunktion
  • Strukturprüfungen für erforderliche Felder
  • Standardwerte für optionale Werte
Strategien zum sicheren Parsen von JSON — Illustration 1

safeParse-Hilfsfunktion

Verwenden Sie eine kleine safeParse-Funktion, um Abstürze zu vermeiden und Fehler klar sichtbar zu machen.

// safeParse: never throws, returns { ok, value, error }
function safeParse(text) {
  try {
    const value = JSON.parse(text);
    return { ok: true, value: value, error: null };
  } catch (e) {
    return { ok: false, value: null, error: String(e.message) };
  }
}

// Demo
const good = safeParse("{\"name\":\"Ayla\",\"age\":20}");
const bad  = safeParse("{broken}");

console.log("good.ok:", good.ok, "name:", good.value && good.value.name);
console.log("bad.ok:", bad.ok, "error:", bad.error);
Strategien zum sicheren Parsen von JSON — Illustration 2

Strukturprüfungen

Fügen Sie kleine Validatoren für erforderliche Felder (name, age) und einfache Wertebereiche hinzu.

// Validate required fields and simple types
function isNonEmptyString(x) {
  return typeof x === "string" && x.trim().length > 0;
}

function isNonNegativeInt(x) {
  return Number.isInteger(x) && x >= 0;
}

function validateUser(u) {
  if (u == null || typeof u !== "object") {
    return { ok: false, reason: "not an object" };
  }
  if (!isNonEmptyString(u.name)) {
    return { ok: false, reason: "name required" };
  }
  if (!isNonNegativeInt(u.age)) {
    return { ok: false, reason: "age must be a non-negative integer" };
  }
  return { ok: true };
}

// Demo
const rawUser = "{\"name\":\"Mina\",\"age\":22}";
const parsed = safeParse(rawUser);

if (parsed.ok) {
  console.log("valid?", validateUser(parsed.value));
}
Strategien zum sicheren Parsen von JSON — Illustration 3

Standardwerte für optionale Werte

Verwenden Sie ?? und einfache Prüfungen, um sichere Standardwerte für optionale Felder festzulegen.

// Apply defaults using nullish coalescing and spread
function normalizeUser(u) {
  const theme = (u.theme ?? "light");        // default theme
  const tags  = Array.isArray(u.tags) ? u.tags : [];
  return { ...u, theme: theme, tags: tags };
}

// Demo
const raw = "{\"name\":\"Lena\",\"age\":19}";
const p = safeParse(raw);
if (p.ok) {
  const v = normalizeUser(p.value);
  console.log("theme:", v.theme, "tags:", v.tags);
}
Strategien zum sicheren Parsen von JSON — Illustration 4

Bereiche und Begrenzungen

Begrenzen Sie numerische Bereiche und Array-Größen, damit Daten sicher und vorhersehbar bleiben.

// Guard numbers and arrays with tiny limits
function clampNumber(x, min, max) {
  if (typeof x !== "number" || !Number.isFinite(x)) return min;
  return Math.min(max, Math.max(min, x));
}

function toStringArray(a) {
  if (!Array.isArray(a)) return [];
  return a.map(function (x) { return String(x); }).slice(0, 5); // cap length
}

// Demo
const cfgText = "{\"limit\":200,\"labels\":[\"a\",\"b\",\"c\",\"d\",\"e\",\"f\"]}";
const cfg = safeParse(cfgText);
if (cfg.ok) {
  const limit = clampNumber(cfg.value.limit, 1, 100);
  const labels = toStringArray(cfg.value.labels);
  console.log("limit:", limit, "labels:", labels);
}
Strategien zum sicheren Parsen von JSON — Illustration 5

Parsen → validieren → normalisieren

Pipeline: parse → validate → normalize. Halten Sie Funktionen klein und gut lesbar.

// Putting it together: parse → validate → normalize
function readUser(jsonText) {
  const p = safeParse(jsonText);
  if (!p.ok) return { ok: false, reason: "parse: " + p.error };

  const check = validateUser(p.value);
  if (!check.ok) return { ok: false, reason: "shape: " + check.reason };

  const normalized = normalizeUser(p.value);
  return { ok: true, value: normalized };
}

// Demo
const text = "{\"name\":\"Ayla\",\"age\":21,\"tags\":[\"new\"],\"theme\":\"dark\"}";
console.log(readUser(text));
Strategien zum sicheren Parsen von JSON — Illustration 6

Quiz zum sicheren Parsen

Kurztest: Sicheres Muster.

Strategien zum sicheren Parsen von JSON — Illustration 7

Zusammenfassung

Zusammenfassung: Erstellen Sie ein kleines safeParse, prüfen Sie erforderliche Felder und Typen, begrenzen Sie Zahlen und Arrays und wenden Sie Standardwerte an, damit Ihre App fehlerhafte Eingaben gelassen verarbeitet.

Strategien zum sicheren Parsen von JSON — Illustration 8

Häufig gestellte Fragen

Ist die Lektion „Strategien zum sicheren Parsen von JSON“ kostenlos?

Ja — der vollständige Text von „Strategien zum sicheren Parsen von JSON“ ist hier im Web kostenlos zu lesen. Um sie interaktiv zu üben (integrierter Code-Editor und 24/7 KI-Tutor) und den Rest des JavaScript Academy-Kurses freizuschalten, upgrade auf CoddyKit PRO. Der JavaScript Academy-Kurs umfasst insgesamt 3 Lektionen.

Was lerne ich in „Strategien zum sicheren Parsen von JSON“?

Nicht vertrauenswürdiges JSON mit try/catch, kleinen Strukturprüfungen, Standardwerten und kleinen Hilfsfunktionen sicher parsen Du übst JavaScript Academy mit praktischem Code, den du direkt im Browser ausführst, und ein 24/7 KI-Tutor beantwortet deine Fragen während du die Lektion bearbeitest.

Brauche ich Erfahrung, um JavaScript Academy zu starten?

Keine Vorkenntnisse erforderlich. JavaScript Academy auf CoddyKit ist für Anfänger bis fortgeschrittene Lernende strukturiert, sodass du hier starten oder von Anfang an beginnen und in deinem eigenen Tempo voranschreiten kannst. Dies ist Lektion 3 von 3.

Wie lange dauert die Lektion „Strategien zum sicheren Parsen von JSON“?

Die meisten CoddyKit-Lektionen dauern etwa 5–10 Minuten. Jede ist kompakt und interaktiv, sodass du stetig Fortschritte machst und genau dort weitermachst, wo du aufgehört hast – im Web und in der App.

Kann ich in dieser JavaScript Academy-Lektion Code schreiben und ausführen?

Ja. Jede JavaScript Academy-Lektion enthält einen integrierten Code-Editor, sodass du echten Code direkt in deinem Browser schreibst und ausführst und sofort KI-Feedback erhältst — ohne lokale Einrichtung erforderlich.

Alle Lektionen in diesem Kurs

  1. Grundlagen von JSON.parse / JSON.stringify
  2. Strukturiertes Klonen und URLSearchParams
  3. Strategien zum sicheren Parsen von JSON
← Zurück zu JavaScript Academy