json_encode()返回一个空值

时间:2014-11-10 14:40:50

标签: php json

我有一个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;

2 个答案:

答案 0 :(得分:1)

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

答案 1 :(得分:-3)

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

Using json_encode on objects in PHP (regardless of scope)