0% complete

Advanced PHP · Lesson 7 of 10

JSON

Encode and decode JSON with explicit error handling.

Lesson

JSON is a common interchange format for APIs and configuration. json_encode converts PHP values; json_decode can return objects or associative arrays. Use JSON_THROW_ON_ERROR so malformed input or encoding failures are explicit, and validate the decoded structure before trusting it. Never assume valid JSON is also valid application data. Further guidance Make failure behavior explicit at system boundaries: validate decoded data, handle expected exceptions, and log diagnostics without exposing them to visitors. Keep dependencies locked and current, use a consistent namespace/autoloading scheme, and test error paths as well as successful responses. Practice task: Create a fresh example for JSON. Predict the result before running it, then change one input and explain why the result changes. Test a normal case and one boundary or invalid case where it applies. Compare your output with the example and note one rule you would use in a real project.

Code examples

JSON
PHP
$json = json_encode(['ok' => true], JSON_THROW_ON_ERROR);
$data = json_decode($json, true, flags: JSON_THROW_ON_ERROR);
echo $data['ok'] ? 'Valid' : 'Not valid';
Expected output
Valid

Key points

  • Encode and decode JSON with explicit error handling.
  • Handle expected errors explicitly without exposing diagnostics.
  • Keep dependency and runtime configuration reproducible.

Your learning progress

Finish this lesson

Optional practice

PHP playground

This site does not execute learner-provided PHP code. Connect a secured PHP sandbox service before enabling code execution.

Execution is disabled. No code is sent to a server.