Estoy tratando de manejar los datos mal JSON cuando se analiza a través de json_decode(). Estoy usando el siguiente script:Detecta datos json malos en PHP json_decode()?
if(!json_decode($_POST)) {
echo "bad json data!";
exit;
}
Si $ _POST es igual a:
'{ bar: "baz" }'
Entonces json_decode maneja la multa de error y escupe; "datos JSON malas!" Sin embargo, si fijo $ _POST a algo así como "datos no válidos", me da:
Warning: json_decode() expects parameter 1 to be string, array given in C:\server\www\myserver.dev\public_html\rivrUI\public_home\index.php on line 6
bad json data!
¿Es necesario escribir una secuencia de comandos personalizada para detectar datos JSON válidos, o hay alguna otra manera ingeniosa para detectar ¿esta?
'$ _POST' es siempre una matriz C mantener los parámetros * x-www-form-urlencoded * aprobados a través de POST. ¿Cómo envías tus datos a tu script PHP? – Gumbo
Las funciones json incluidas en PHP no son de mucha ayuda. Ellos tienen muchos problemas. Eche un vistazo a [json.org] (http://json.org/) para encontrar una buena biblioteca. – whiskeysierra