sql >> Databasteknik >  >> RDS >> Mysql

json_decode(json_encode(en indexerad array)) ger NULL

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




  1. Varför kan jag inte ansluta direkt till min MySQL RDS DB-instans? (Jag kan bara ansluta via SSHing till en EC2)

  2. SSIS källformat Implicit konvertering för datum och tid

  3. Oracle jämför tidsstämpel med datum

  4. Hur delar man upp ett värde i flera rader på newline char i PostgreSQL?