【问题标题】:Transform Json Array [closed]转换 Json 数组
【发布时间】:2019-05-18 00:36:54
【问题描述】:

我的模型正在检索这样的 json:

[
    {
      "type": "seat",
      "number": 4
    },
    {
      "type": "seat",
      "number": 8
    },
    {
      "type": "seat",
      "number": 12
    },
    {
      "type": "seat",
      "number": 16
    }
]

但是,由于我正在使用的 API 中有一些写得不好的代码,我需要让上面的 json 看起来像这样:

{
  "4" : [ "{\"number\":\"4\",\"type\":\"seat\"}" ],
  "8" : [ "{\"number\":\"8\",\"type\":\"seat\"}" ],
  "12" : [ "{\"number\":\"12\",\"type\":\"seat\"}" ],
  "16" : [ "{\"number\":\"16\",\"type\":\"seat\"}" ]
}

我想知道如何使用 laravel 中的集合将第一个示例转换为第二个示例。

【问题讨论】:

  • 大声笑,如果这个问题太宽泛,那么我现在很困惑。
  • 我很困惑一开始评级为-3的问题如何突然受到如此多的积极关注。

标签: php json laravel laravel-collection


【解决方案1】:

这看起来很简单:

$data = json_decode($json, true);

collect($data)
    ->mapWithKeys(function ($item) {
        return [$item['number'] => [json_encode($item)]];
    })
    ->toArray();

【讨论】:

  • 好的,谢谢你试试看:)
猜你喜欢
  • 2021-09-01
  • 1970-01-01
  • 2022-12-09
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-05-26
相关资源
最近更新 更多