JavaScript и JSON не позволяват връщането на ред да се съдържа в низ. Трябва да избягате от тях.
json_encode()
трябва да ги избягва автоматично вместо вас.
Ето резултата от моята игра с вашия JSON код, предоставен в PHP интерактивната обвивка:
php > $json = '{"content":"aaa
php ' bbb"}';
php > var_dump(json_decode($json, true));
NULL
Както можете да видите, когато избягам от връщането на вашия ред, работи добре:
php > $json = '{"content":"aaa\n bbb"}';
php > var_dump(json_decode($json, true));
array(1) {
["content"]=>
string(8) "aaa
bbb"
}
Това също е допълнително обсъдено в предишен въпрос, свързан с подобен проблем:Проблем при извличане на текст във формат JSON, съдържащ прекъсвания на редове с jQuery