Análisis de registros JSON del servidor

PHP Medium json

Tarea «Análisis de registros JSON del servidor»

Escriba un programa en PHP que lea desde la entrada estándar una cadena JSON que contenga un array de objetos de registros del servidor. Cada objeto tiene los campos: 'timestamp' (cadena en formato ISO 8601), 'level' (cadena: 'info', 'warning', 'error'), 'message' (cadena). Es necesario procesar los registros y mostrar un array JSON de objetos que sean 'error' y hayan ocurrido después de 2023-06-15T00:00:00Z. Para cada uno de estos registros, se debe agregar el campo 'processed' con la fecha y hora actual en formato ISO 8601 (por ejemplo, '2023-06-20T12:34:56Z'). Los demás campos deben conservarse sin cambios. Mostrar el resultado como una cadena JSON, ordenada por el campo 'timestamp' en orden ascendente.

Formato de entrada

Una línea — un array JSON de objetos de registros.

Formato de salida

Una línea — un array JSON de objetos filtrados y complementados.

Ejemplos

Ejemplo 1

ENTRADA
[{"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"}]
SALIDA
[{"timestamp": "2023-06-16T08:30:00Z", "level": "error", "message": "Connection timeout", "processed": "2026-05-17T10:07:20Z"}]

Ejemplo 2

ENTRADA
1,2,3
SALIDA
[]

Ejemplo 3

ENTRADA
[{"timestamp":"2023-06-15T00:00:01Z","level":"error","message":"Oops"},{"timestamp":"2023-06-14T23:59:59Z","level":"error","message":"Late"}]
SALIDA
[{"timestamp": "2023-06-15T00:00:01Z", "level": "error", "message": "Oops", "processed": "2026-05-17T10:07:20Z"}]

Ejemplo 4

ENTRADA
4,5,6
SALIDA
[]
main.php