我知道这可能很简单,但我很困难,无法找到解决方案。我只想创建一个简单的嵌套json对象,如下所示:
{
"user": {"firstname":"foo","lastname":"bar","email":"foo.bar@somedomain.com"}
}
到目前为止,我可以按如下方式创建内部json:
class user_profile {
private $firstname = '';
private $lastname ='';
private $email = '';
public function __construct($first, $last, $email){
$this->firstname = $first;
$this->lastname = $last;
$this->email = $email;
}
public function expose() {
return get_object_vars($this);
}
}
$up = new user_profile('foo','bar','foo.bar@somedomain.com');
echo json_encode($up->expose());
我尝试添加一个数组:
echo json_encode(array('user',$up->expose()), JSON_FORCE_OBJECT);
但结果是:
{
"0":"user","1": {"firstname":"foo","lastname":"bar","email":"foo.bar@somedomain.com"}
}
如何创建外部“用户”部分?
答案 0 :(得分:1)
您可以执行json_encode(array('user' => $up->expose());
所以基本上你唯一的错误就是使用,
而不是=>
,这会给你一个带有两个对象的数组,而不是一个带有key =>的关联数组。值。