JavaScript och JSON tillåter inte att radreturer finns i en sträng. Du måste fly dem.
json_encode()
bör undvika dem automatiskt åt dig.
Här är resultatet av mitt spelande med din JSON-kod som finns på det interaktiva PHP-skalet:
php > $json = '{"content":"aaa
php ' bbb"}';
php > var_dump(json_decode($json, true));
NULL
Som du kan se när jag undkommer din linjeretur så fungerar det bra:
php > $json = '{"content":"aaa\n bbb"}';
php > var_dump(json_decode($json, true));
array(1) {
["content"]=>
string(8) "aaa
bbb"
}
Detta diskuteras också ytterligare i en tidigare fråga som rör ett liknande problem:Problem med att hämta text i JSON-format som innehåller radbrytningar med jQuery