小编典典

如何将序列化的JSON视图数据输出为对象数组,而不是包装在外部对象中?

json

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

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

我希望它像这样:

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

我正在尝试 设置:: 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')
    ));

阅读 284

收藏
2020-07-27

共1个答案

小编典典

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

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

那应该给您期望的结果。

2020-07-27