PostgreSQL
 sql >> Datenbank >  >> RDS >> PostgreSQL

PHP json_encode Problem mit Backslash und Array-Name

Für den ersten Punkt, wenn ich das versuche:

$str = "this / string";
var_dump(json_encode($str));

Ich bekomme :

string '"this \/ string"' (length=16)

Auch mit Backslashes.


Blick auf json.org , scheint der JSON-Standard zu definieren, dass Schrägstriche innerhalb von Zeichenfolgen maskiert werden sollten.

Also json_encode() scheint das Richtige zu tun.

Wenn Sie nicht möchten, dass diese Schrägstriche maskiert werden, möchten Sie kein gültiges JSON und sollten nicht mit json_encode arbeiten .


Für den zweiten Punkt sollten Sie jetzt nicht Folgendes verwenden:

$posts[] = array(..., $posts2 );

Stattdessen sollten Sie :

verwenden
$posts[] = array(..., 'attach' => $posts2 );

Auf diese Weise erhält das letzte Element des Arrays den 'attach'-Namen.