我正在将CakePHP数组的返回值转换为JSON,目前它是这样的:

{
  "platformusers" : [
    {
      "id" : "1",
      "name" : "user1"
    },
    {
      "id" : "3",
      "name" : "user3"
    }
  ]
}


我希望它像这样:

[
    {
      "id" : "1",
      "name" : "user1"
    },
    {
      "id" : "3",
      "name" : "user3"
    }
]


我正在尝试Set :: extract('{n} .Model',$ data)Hash :: extract('{n} .Model',$ data)根本没有运气。

完整代码:

    $platformusers = $this->Platformuser->find('all', array(
        'fields' => array('Platformuser.id', 'Platformuser.name')
    ));

    $platformusers = Hash::extract('{n}.Platformuser', $platformusers);

    $this->set(array(
        'platformusers' => $platformusers,
        '_serialize' => array('platformusers')
    ));

最佳答案

string选项设置一个_serialize而不是arrayarray表示可能需要序列化多个视图变量,并要求将它们打包到单独的对象属性中。

$this->set(array(
    'platformusers' => $platformusers,
    '_serialize' => 'platformusers'
));


那应该给您期望的结果。

10-06 15:18