首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >zend json对象

zend json对象
EN

Stack Overflow用户
提问于 2012-02-12 20:42:00
回答 3查看 1.1K关注 0票数 1

拥有以下代码:

(...)

代码语言:javascript
运行
复制
<?php foreach($this->albums as $album) : 
$jsonalbum = Zend_Json::encode($album);
?>
<tr>
    <td><?php echo $this->escape($album->tstamp);?></td>
    <td><?php echo $this->escape($album->title);?></td>
    <td><?php echo $this->escape($album->place);?></td>
    <td class="link" onclick="popup(<?php echo $jsonalbum; ?>)">>></td>
    <td>

(...)

$album包含并显示数据,但$jsonalbum为空!我找不到哪里不对劲..有什么帮助吗?谢谢!

巴勃罗

EN

回答 3

Stack Overflow用户

发布于 2012-02-12 21:20:33

根据您的评论,相册的属性是受保护的,并且根据Zend_Json文档,Zend_Json::encode()只能访问公共属性。

如果您正在对PHP对象进行编码,那么默认情况下,编码机制只能访问这些对象的公共属性。当在要编码的对象上实现方法toJson()时,Zend_Json调用该方法并期望该对象返回其内部状态的JSON表示。

Zend_Json Documentation

在相册中实现方法toJson(),以便能够将其转换为json

票数 1
EN

Stack Overflow用户

发布于 2012-02-12 23:08:32

尝试将其转换为数组:$jsonalbum = Zend_Json::encode((array) $album);

票数 1
EN

Stack Overflow用户

发布于 2012-02-12 21:16:36

JSON不允许对象引用,因此应注意不要使用递归引用对对象进行编码。如果您有关于递归的问题,Zend_Json::encode()和Zend_Json_Encoder::encode()允许可选的第二个参数来检查递归;如果一个对象被序列化两次,就会抛出异常。

也许这是个错误?

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/9248860

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档