将Matrix转换为JSON - PHP-ZF

时间:2014-07-06 02:55:12

标签: php json zend-framework matrix

我想将数组转换为JSON数组以使用JS处理此信息,但在转换时获得意外结果" bool(false)"应该是一个JSON

$datos = Array(
                    'caso' => $datoscaso,
                    'seguimiento' => $datosseguimiento
                );

$ datoscaso; //是一个数组

$ datosseguimiento //是一个数组

var_dump $ datos;

array(2) {
  ["caso"]=>
  array(2) {
    [0]=>
    array(7) {
      ["numero_radicado"]=>
      string(2) "26"
      ["fecha_inicio"]=>
      string(10) "2014-06-16"
      ["fecha_fin"]=>
      string(10) "2014-07-16"
      ["tipo_caso"]=>
      string(14) "Otros procesos"
      ["observaciones"]=>
      string(24) "Informacion sobre el sistema"
      ["cod_beneficiario"]=>
      string(1) "2"
      ["Estado_caso"]=>
      string(7) "Abierto"
    }
    [1]=>
    array(7) {
      ["numero_radicado"]=>
      string(2) "27"
      ["fecha_inicio"]=>
      string(10) "2014-07-04"
      ["fecha_fin"]=>
      NULL
      ["tipo_caso"]=>
      string(24) "Tramites administrativos"
      ["observaciones"]=>
      string(25) "Otro caso nuevo de prueba"
      ["cod_beneficiario"]=>
      string(1) "2"
      ["Estado_caso"]=>
      string(7) "Abierto"
    }
  }
  ["seguimiento"]=>
  array(2) {
    [0]=>
    array(14) {
      ["id_seguimiento"]=>
      string(2) "15"
      ["fecha_seguimiento"]=>
      string(10) "2014-06-16"
      ["observaciones_seguimiento"]=>
      string(24) "Informaci�n sobre el sistema"
      ["num_radicado"]=>
      string(2) "26"
      ["cod_entidad"]=>
      string(1) "4"
      ["cod_dependencia"]=>
      string(1) "1"
      ["cod_administrativo_bienestar"]=>
      string(1) "3"
      ["numero_radicado"]=>
      string(2) "26"
      ["fecha_inicio"]=>
      string(10) "2014-06-16"
      ["fecha_fin"]=>
      string(10) "2014-07-16"
      ["tipo_caso"]=>
      string(14) "Otros procesos"
      ["observaciones"]=>
      string(24) "Informacion sobre el sistema"
      ["cod_beneficiario"]=>
      string(1) "2"
      ["Estado_caso"]=>
      string(7) "Abierto"
    }
    [1]=>
    array(14) {
      ["id_seguimiento"]=>
      string(2) "16"
      ["fecha_seguimiento"]=>
      string(10) "2014-07-04"
      ["observaciones_seguimiento"]=>
      string(25) "Otro caso nuevo de prueba"
      ["num_radicado"]=>
      string(2) "26"
      ["cod_entidad"]=>
      string(1) "3"
      ["cod_dependencia"]=>
      string(1) "1"
      ["cod_administrativo_bienestar"]=>
      string(1) "3"
      ["numero_radicado"]=>
      string(2) "26"
      ["fecha_inicio"]=>
      string(10) "2014-06-16"
      ["fecha_fin"]=>
      string(10) "2014-07-16"
      ["tipo_caso"]=>
      string(14) "Otros procesos"
      ["observaciones"]=>
      string(24) "Informacion sobre condor"
      ["cod_beneficiario"]=>
      string(1) "2"
      ["Estado_caso"]=>
      string(7) "Abierto"
    }
  }
}

我用:

$json = Zend_Json::encode($datos);
echo $json;
var_dump($json);

打印: "bool(false)"

2 个答案:

答案 0 :(得分:0)

Zend_Json基于PHP json_encode,它需要UTF-8代码页中的数据。

我可以在你的一个数组字符串中看到UTF-8中的字符:

  ["observaciones_seguimiento"]=>
  string(24) "Informaci�n sobre el sistema"

在使用Zend_Json :: encode()处理它们之前转换数组中的所有值。您可以使用utf8_encode()

答案 1 :(得分:0)

我在Zend Framework中设置了这个配置:

文件: /application/configs/application.ini

resources.db.params.charset = "utf8"