Avatar ·

Cómo verificar rápidamente si una cadena es JSON en PHP?

¡Hola a todos! Soy un desarrollador PHP principiante y me encontré con un problema. A menudo en los proyectos necesito obtener datos de una API o de formularios donde llega una cadena que puede ser JSON o puede ser texto plano. Necesito determinar si esa cadena es un JSON válido, y lo más rápido posible, porque habrá muchas de estas verificaciones. Actualmente uso este enfoque: ```php function isJson($string) { json_decode($string); return (json_last_error() == JSON_ERROR_NONE); } ``` Pero he oído que no es la forma más rápida y que hay métodos más eficientes. Me preocupan los siguientes puntos: 1. ¿Qué tan lento es `json_decode` para cadenas grandes? 2. ¿Hay alguna forma de verificar la cadena sin hacer un parsing completo? 3. ¿Qué hacer si la cadena es solo un número o `true`? Porque `json_decode` devolverá éxito para esos valores, aunque no sea un objeto o array JSON. 4. ¿Es necesario considerar casos específicos, como JSON muy grandes (megabytes)? Quiero encontrar una solución que sea rápid