Challenge - 5 Problems
JSON Mastery Badge
Get all challenges correct to earn this badge!
Test your skills under time pressure!
❓ Predict Output
intermediate2:00remaining
What is the output of this PHP code using json_encode?
Consider the following PHP code snippet. What will it output?
PHP
<?php $array = ['name' => 'Alice', 'age' => 30, 'active' => true]; echo json_encode($array); ?>
Attempts:
2 left
💡 Hint
Remember json_encode converts PHP arrays to JSON strings with proper quotes and types.
✗ Incorrect
json_encode converts the PHP associative array into a JSON string with keys and values properly quoted and boolean true as true without quotes.
❓ Predict Output
intermediate2:00remaining
What does json_decode return with second parameter true?
What will be the output of this PHP code?
PHP
<?php $json = '{"fruit":"apple","count":5}'; $result = json_decode($json, true); var_dump($result); ?>
Attempts:
2 left
💡 Hint
The second parameter true makes json_decode return an associative array.
✗ Incorrect
json_decode with true returns an associative array, so var_dump shows array with keys and values.
❓ Predict Output
advanced2:00remaining
What error does this PHP code raise when decoding invalid JSON?
What error or output will this PHP code produce?
PHP
<?php $invalidJson = '{"name":"Bob", age: 25}'; $result = json_decode($invalidJson); if (json_last_error() !== JSON_ERROR_NONE) { echo json_last_error_msg(); } else { var_dump($result); } ?>
Attempts:
2 left
💡 Hint
Look at the JSON string: keys must be quoted strings.
✗ Incorrect
The JSON string is invalid because the key 'age' is not quoted, causing a syntax error in JSON parsing.
🧠 Conceptual
advanced2:00remaining
Which option correctly encodes a PHP object to JSON with private properties?
Given a PHP class with private properties, which code snippet will correctly encode its public data to JSON?
PHP
<?php class User { private string $name; private int $age; public function __construct(string $name, int $age) { $this->name = $name; $this->age = $age; } public function toArray(): array { return ['name' => $this->name, 'age' => $this->age]; } } $user = new User('Eve', 28); // Which line below correctly encodes the user data?
Attempts:
2 left
💡 Hint
Private properties are not accessible directly; use a method to expose data.
✗ Incorrect
json_encode only encodes public properties by default. Using toArray() exposes data as an array for encoding.
🚀 Application
expert2:00remaining
How many items are in the array after decoding this JSON string?
Given this PHP code, how many items does the resulting array contain?
PHP
<?php $json = '[{"id":1,"tags":["php","json"]},{"id":2,"tags":[]},{"id":3}]'; $array = json_decode($json, true); echo count($array); ?>
Attempts:
2 left
💡 Hint
Count the top-level elements in the JSON array.
✗ Incorrect
The JSON string is an array with 3 objects, so count($array) returns 3.