PostgreSQL
 sql >> Database >  >> RDS >> PostgreSQL

PHP json_encode Problema con barra rovesciata e nome dell'array

Per il primo punto, se provo a fare questo :

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

Ottengo :

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

Anche con barre rovesciate.


Guardando json.org , sembra che lo standard JSON definisca che gli slash, all'interno delle stringhe, devono essere sottoposti a escape.

Quindi, json_encode() sembra che stia facendo la cosa giusta.

Se non si desidera eseguire l'escape di quelle barre, non si desidera un JSON valido e non dovrebbe funzionare con json_encode .


Per il secondo punto, ora, non dovresti usare questo :

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

Invece, dovresti usare :

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

In questo modo, l'ultimo elemento dell'array avrà il nome 'attach'.