Skip to content
PHP Logo

What are some alternative methods to validate JSON strings in PHP, apart from using FILTER_SANITIZE_STRIPPED and json_decode()?

When validating JSON strings in PHP, an alternative method is to use the json_last_error() function to check for any errors that occurred during decoding. This can help identify issues with the JSON string that may not be caught by FILTER_SANITIZE_STRIPPED or json_decode(). Additionally, you can use regular expressions to validate the JSON string format before attempting to decode it.

php
$jsonString = '{"key": "value"}';

// Validate JSON string format using regular expression
if (preg_match('/^[\],:{}\s]*$/', $jsonString)) {
    // Decode JSON string
    $decodedJson = json_decode($jsonString);

    // Check for decoding errors
    if (json_last_error() === JSON_ERROR_NONE) {
        echo 'JSON string is valid';
    } else {
        echo 'Error decoding JSON string';
    }
} else {
    echo 'Invalid JSON string format';
}