一尘不染

PHP类实例到JSON

json

我正在尝试以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,信息:执行请求时出错}


阅读 223

收藏
2020-07-27

共1个答案

一尘不染

你就在那里。看一下与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());

那应该解决可见性问题。

2020-07-27