What are some common pitfalls when using json_decode in PHP to handle API data in JSON format?

One common pitfall when using json_decode in PHP to handle API data in JSON format is not checking for errors during the decoding process. To avoid potential issues, always check if json_decode returns false, indicating an error in decoding the JSON data. Additionally, it's important to handle different data structures that may be returned by the API, such as arrays or objects.

// Sample code snippet to handle errors and different data structures when using json_decode

$json_data = '{"name": "John", "age": 30}';
$decoded_data = json_decode($json_data);

if ($decoded_data === null) {
    // Handle error in decoding JSON data
    echo "Error decoding JSON data";
} else {
    // Check if the decoded data is an object or an array
    if (is_object($decoded_data)) {
        // Handle object data
        echo $decoded_data->name . " is " . $decoded_data->age . " years old";
    } elseif (is_array($decoded_data)) {
        // Handle array data
        echo $decoded_data['name'] . " is " . $decoded_data['age'] . " years old";
    } else {
        // Handle other data structures
        echo "Unknown data structure";
    }
}