Mysql
 sql >> Datenbank >  >> RDS >> Mysql

json_decode(json_encode(ein indiziertes Array)) ergibt NULL

JavaScript und JSON lassen nicht zu, dass Zeilenumbrüche in einer Zeichenfolge enthalten sind. Du musst ihnen entkommen.

json_encode() sollte ihnen automatisch entkommen.

Hier ist die Ausgabe meines Spiels mit Ihrem JSON-Code, der auf der interaktiven PHP-Shell bereitgestellt wird:

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

Wie Sie sehen können, funktioniert es einwandfrei, wenn ich Ihrer Zeile return entkomme:

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

Dies wird auch in einer früheren Frage zu einem ähnlichen Problem näher erläutert:Problem beim Abrufen von Text im JSON-Format mit Zeilenumbrüchen mit jQuery