1. <?php
  2. /**
  3. * Monitors the state of JSON payloads for a legacy project.
  4. * Outputs simple error messages if issues are detected.
  5. */
  6. // Function to validate JSON
  7. function validateJson($jsonString) {
  8. try {
  9. $data = json_decode($jsonString);
  10. if (json_last_error() !== JSON_ERROR_NONE) {
  11. return false; // JSON decode error
  12. }
  13. return true;
  14. } catch (Exception $e) {
  15. return false; //General exception during decoding
  16. }
  17. }
  18. // Function to check if required fields are present
  19. function checkRequiredFields($data, $requiredFields) {
  20. foreach ($requiredFields as $field) {
  21. if (!isset($data[$field])) {
  22. return false; // Required field missing
  23. }
  24. }
  25. return true;
  26. }
  27. //Example Usage - Replace with your actual JSON payload and required fields
  28. $jsonPayload = '{"name": "John Doe", "age": 30}'; // Example JSON
  29. $requiredFields = ['name', 'age']; // Example required fields
  30. if (!validateJson($jsonPayload)) {
  31. echo "Error: Invalid JSON format.\n";
  32. } elseif (!checkRequiredFields($jsonPayload, $requiredFields)) {
  33. echo "Error: Missing required fields.\n";
  34. } else {
  35. echo "JSON payload is valid.\n";
  36. }
  37. ?>

Add your comment