Hola lamek,
No entiendo exactamente tu problema, pero he hecho pruebas de con las arrays y los json_encode / json_decode y no he tenido problemas para procesarlo.
Código PHP:
<?
$str = "esto es una prueba: esto sigue siendo: una prueba";
$arr = array(
"cadena" => json_encode($str)
);
print_r($arr);echo "<br /><br />"; //Array Normal
$arr=json_encode($arr);
echo $arr;echo "<br /><br />"; //Array codificada
$arr=(array) json_decode($arr);
print_r($arr);echo "<br /><br />"; //Array decodificada
echo json_decode($arr['cadena']);echo "<br /><br />"; //Valor docodificado
echo $arr['cadena']; //Valor codificado
?>
<!--Respuesta-->
Array ( [cadena] => "esto es una prueba: esto sigue siendo: una prueba" )
{"cadena":"\"esto es una prueba: esto sigue siendo: una prueba\""}
Array ( [cadena] => "esto es una prueba: esto sigue siendo: una prueba" )
esto es una prueba: esto sigue siendo: una prueba
"esto es una prueba: esto sigue siendo: una prueba"