【发布时间】:2023-03-25 14:33:01
【问题描述】:
在服务器端接收到以下数组:
[{"id":"2","foo":"bar","children":[{"id":"4","foo":"baz","children":[{"id":"6"}]},{"id":"5"}]},{"id":"7"},{"id":"3"}]
有没有办法将它转换成这样的嵌套数组?
[
['id' => 2, 'foo' => 'bar', 'children' =>[
'id'=> 4, 'foo' => 'baz' ....
P.S:我发现在不使用任何函数的情况下,我将在服务器端获得所需的代码格式。也许这是因为发送数据作为发布请求(使用 ajax)将数据转换为数组然后序列化并发送,然后在服务器端我有一个很好的数组,与我正在寻找的相同。我不确定它是与 php 或 laravel 或 jquery 相关!?
Array
(
[0] => Array
(
[id] => 2
[children] => Array
(
[0] => Array
(
[id] => 4
[children] => Array
(
[0] => Array
(
[id] => 6
)
)
)
[1] => Array
(
[id] => 5
)
)
)
[1] => Array
(
[id] => 7
)
[2] => Array
(
[id] => 3
)
)
【问题讨论】:
-
还要注意 json_decode 的第二个参数
-
听起来很奇怪,但是为什么不尝试将其保留为 JSON 字符串,然后将 '{' 替换为 '[','}' 替换为 ']' 和 ':' 替换为 '=>' ,然后只有 json_decode()? ;-)