sql >> Base de Datos >  >> RDS >> Mysql

json_decode (json_encode (una matriz indexada)) da NULL

JavaScript y JSON no permiten que los retornos de línea estén contenidos dentro de una cadena. Tienes que escapar de ellos.

json_encode() debería escapar de ellos automáticamente para usted.

Aquí está el resultado de mi juego con su código JSON proporcionado en el shell interactivo de PHP:

php > $json = '{"content":"aaa
php ' bbb"}';
php > var_dump(json_decode($json, true));
NULL

Como puede ver, cuando escapo su retorno de línea, funciona bien:

php > $json = '{"content":"aaa\n bbb"}';
php > var_dump(json_decode($json, true));
array(1) {
  ["content"]=>
  string(8) "aaa
 bbb"
}

Esto también se analiza con más detalle en una pregunta anterior relacionada con un problema similar:Problema al recuperar texto en formato JSON que contiene saltos de línea con jQuery