تحليل سجلات JSON للخادم

PHP Medium json

مهمة «تحليل سجلات JSON للخادم»

اكتب برنامجًا بلغة PHP يقرأ من الإدخال القياسي سلسلة JSON تحتوي على مصفوفة من كائنات سجلات الخادم. كل كائن يحتوي على الحقول التالية: 'timestamp' (سلسلة نصية بتنسيق ISO 8601)، 'level' (سلسلة نصية: 'info', 'warning', 'error')، 'message' (سلسلة نصية). يجب معالجة السجلات وإخراج مصفوفة JSON من الكائنات التي تكون من نوع 'error' والتي حدثت بعد 2023-06-15T00:00:00Z. لكل سجل من هذا القبيل، يجب إضافة حقل 'processed' مع التاريخ والوقت الحاليين بتنسيق ISO 8601 (على سبيل المثال، '2023-06-20T12:34:56Z'). يجب الاحتفاظ ببقية الحقول دون تغيير. أخرج النتيجة كسلسلة JSON مرتبة حسب حقل 'timestamp' بترتيب تصاعدي.

تنسيق الإدخال

سطر واحد — مصفوفة JSON تحتوي على كائنات السجلات.

تنسيق الإخراج

سطر واحد — مصفوفة JSON من الكائنات المفلترة والمكملة.

أمثلة

مثال 1

الإدخال
[{"timestamp":"2023-06-14T10:00:00Z","level":"error","message":"Disk full"},{"timestamp":"2023-06-16T08:30:00Z","level":"error","message":"Connection timeout"},{"timestamp":"2023-06-15T12:00:00Z","level":"warning","message":"High memory usage"}]
الإخراج
[{"timestamp": "2023-06-16T08:30:00Z", "level": "error", "message": "Connection timeout", "processed": "2026-05-17T10:07:20Z"}]

مثال 2

الإدخال
1,2,3
الإخراج
[]

مثال 3

الإدخال
[{"timestamp":"2023-06-15T00:00:01Z","level":"error","message":"Oops"},{"timestamp":"2023-06-14T23:59:59Z","level":"error","message":"Late"}]
الإخراج
[{"timestamp": "2023-06-15T00:00:01Z", "level": "error", "message": "Oops", "processed": "2026-05-17T10:07:20Z"}]

مثال 4

الإدخال
4,5,6
الإخراج
[]
main.php