Mysql
 sql >> Base de données >  >> RDS >> Mysql

json_decode(json_encode(un tableau indexé)) donne NULL

JavaScript et JSON n'autorisent pas les retours à la ligne contenus dans une chaîne. Vous devez leur échapper.

json_encode() devrait leur échapper automatiquement pour vous.

Voici le résultat de mon jeu avec votre code JSON fourni sur le shell interactif PHP :

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

Comme vous pouvez le voir lorsque j'échappe à votre retour de ligne, cela fonctionne très bien :

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

Ceci est également abordé plus en détail dans une question précédente relative à un problème similaire :Problème lors de la récupération de texte au format JSON contenant des sauts de ligne avec jQuery