json_encode()返回一个空值


json_encode() returns an empty value

我有一个User对象,我想将其编码为JSON格式,但json_encode()返回一个空值"{}"。我做错了什么?

这是我的代码:

<?php
header('Content-Type: application/json');
require_once 'DataBase.php';
include_once '../Model/User.php';
$user = DataBase::getUser('username', $_GET['q']); //getting User object
$json = json_encode($user); //returns "{}"
echo $json;

我找到了一个解决方案。User对象的属性是私有的。我只需要在User类中创建to_json()方法。

我认为因为$user = DataBase::getUser('username', $_GET['q']);返回的是一个对象,而不是数组

在PHP中的对象上使用json_encode(无论范围如何)