我正在尝试以JSON格式回显对象的内容。我对PHP完全没有经验,我想知道是否有预定义的函数可以执行此操作(例如json_encode()),还是您必须自己构建字符串?当谷歌搜索“ PHP对象到JSON”时,我只是在寻找垃圾。
class Error { private $name; private $code; private $msg; public function __construct($ErrorName, $ErrorCode, $ErrorMSG){ $this->name = $ErrorName; $this->code = $ErrorCode; $this->msg = $ErrorMSG; } public function getCode(){ return $this->code; } public function getName(){ return $this->name; } public function getMsg(){ return $this->msg; } public function toJSON(){ $json = ""; return json_encode($json); } }
我想要JSON返回的内容:
{名称:“ $ name var的内容”,代码:1001,信息:执行请求时出错}
你就在那里。看一下与json_encode结合使用的get_object_vars,您将拥有所需的一切。正在做:
json_encode(get_object_vars($error));
应该完全返回您要查找的内容。
注释引起了对可见性的get_object_vars尊重,因此请考虑在类中执行以下操作:
public function expose() { return get_object_vars($this); }
然后将先前的建议更改为:
json_encode($error->expose());
那应该解决可见性问题。