json编码数组返回空的json对象,怎么样?

时间:2012-03-19 23:48:21

标签: ajax json zend-framework object each

我在尝试从fetchAll返回json时注意到错误。

在控制器中我有一个fetchAction

$result = $model->fetchAll();
echo Zend_Json::encode($result);
exit();

在.js文件中我有一个ajax调用:

$.ajax({  
    type: "GET",
    url: "/module/index/fetch",
    dataType: "json",
    processData: false,
    success: function(data) {   
       console.log(data);
       $.each(data, function(index, obj){
          // console.log(obj);
       });
    }
});

如果我做print_r($result);我得到:

Array
(
    [0] => Module_Model_Module Object
        (
            [_message:protected] => test
            [_created:protected] => 1332188757
            [_dependent_table:protected] => 
        )

    [1] => Module_Model_Module Object
        (
            [_message:protected] => 123123
            [_created:protected] => 1332194812
            [_dependent_table:protected] => 
        )

)

但是console.log(data);返回2个空的json对象:[{},{}]

任何想法为什么我让json空了回来?

1 个答案:

答案 0 :(得分:0)

我的猜测是,Zend_Json无法将Module_Model_Module对象转换为数组,然后转换为JSON,您可以尝试调用toArray对象,然后查看Zend_Json是否可以正确编码它们