当前位置: 首页 > 面试题库 >

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

索卓
2023-03-14
问题内容

我正在将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')
    ));

问题答案:

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

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

那应该给您期望的结果。



 类似资料:
  • 在我使用Spring的web应用程序中,我们希望使用一个定制的JSON结构。Spring默认采用这样的POJO: 并把它变成这样: 对于我们的应用程序,我们希望将其变成这样: 我想使用Spring的默认序列化逻辑来检测Java类型(int,字符串,集合等)并映射到适当的JSON类型,但只需将包装对象更改为数组而不是带有字段的对象。 这是我到目前为止拥有的序列化程序(它将在模型中实现@JsonSer

  • 我有一个回应 正文 下面是我要映射的coreV2Response类

  • 问题内容: 我有由第三方编码为固定长度数组的json’ed 元组数组: 我想使用json魔术来获取的实例列表 请帮助我放置适当的注释,以使ObjectMapper发挥作用。 我无法控制传入的格式,而我所有的google’n都以答案来回答如何将适当的json对象(而非数组)数组映射到对象列表 问题答案: 添加以下注释: 并且它应该根据需要序列化条目。 另外:然后使用它来强制执行特定顺序是最安全的,因

  • 问题内容: 我正在尝试对从Zend_DB查询返回的数组进行json_encode。 var_dump给出:(手动添加0个成员不会更改图片。) 编码后的字符串如下所示: 我需要的是: php.ini / json_encode文档说的应该是什么样子。 问题答案: 您如何设置初始阵列? 如果您将其设置为: 那么您就没有一个带有数字索引而是一个字符串的数组,并且该数组将转换为JS world中的一个对象

  • 问题内容: 我需要将一些对象序列化为JSON并发送到WebService。如何使用org.json库?否则我将不得不使用另一个?这是我需要序列化的类: 我只放了类的变量和构造函数,但也有getter和setter方法。所以如果有人可以帮忙 问题答案: 没有注释的简单方法是使用Gson库 就那么简单:

  • 问题内容: 我在PHP中有以下数组: 我想将其JSON编码为JSON数组,产生类似以下内容的字符串: 但是当我调用此数组时,得到以下信息: 这是一个对象而不是数组。 我怎样才能将我的数组编码为数组呢? 问题答案: 您正在观察此行为,因为您的数组不是顺序的-它具有键和,但没有键。 仅具有数字索引是不够的。仅当您的PHP数组是顺序的时,即如果其键为0、1、2、3,…时,才会将PHP数组编码为JSON数