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