JavaScript i JSON nie pozwalają na umieszczanie zwrotów linii w ciągu. Musisz im uciec.
json_encode()
powinien automatycznie zmienić je dla Ciebie.
Oto wynik mojej gry z kodem JSON dostarczonym w interaktywnej powłoce PHP:
php > $json = '{"content":"aaa
php ' bbb"}';
php > var_dump(json_decode($json, true));
NULL
Jak widać, kiedy ucieknę przed powrotem do linii, działa dobrze:
php > $json = '{"content":"aaa\n bbb"}';
php > var_dump(json_decode($json, true));
array(1) {
["content"]=>
string(8) "aaa
bbb"
}
Jest to również szerzej omówione w poprzednim pytaniu dotyczącym podobnego problemu:Problem podczas pobierania tekstu w formacie JSON zawierającym podziały wierszy za pomocą jQuery