Lesson 10

Parsing: Text to Program Values

How parsers build in-memory structures and what can fail before your code runs.

Parsing is the step that turns JSON text into values your program can use—objects, arrays, strings, and numbers in memory. Every language provides a library or built-in for this step; the idea is the same even when the API name differs.

What parsing produces

Input text:

{"id": 7, "tags": ["api", "draft"]}

After a successful parse, your runtime holds a structure you can index: id is a number, tags is a list of strings. Until parsing completes, the text is just a string—unsafe to treat as data.

Typical failure modes

ProblemSymptom
Syntax errorParser throws or returns error with line/column
Invalid UTF-8Decode error before JSON rules even apply
Huge inputMemory or time limits in the parser
Duplicate keysLast value wins in many parsers—silent data loss

Parsing validates syntax only. It does not guarantee business meaning (wrong ID, missing field)—that requires schema checks or application logic.

Parse vs validate vs transform

  1. Parse — Is this valid JSON text?
  2. Validate (optional) — Does it match a schema or required fields?
  3. Transform — Map to domain types (dates, decimals, enums)

Keep these stages separate in production pipelines so errors are easy to classify.

Security note

Never evaluate JSON text as code (no eval). Use a dedicated parser. For untrusted input, cap size and depth where your library allows it.

Understanding parsing clarifies why a single stray comma blocks everything downstream—and why fixing syntax always comes first.

When you want to practice, use the related DevCove tool — optional, not part of this lesson.

Open related tool

Back to course overview