【发布时间】:2016-03-12 14:56:54
【问题描述】:
我有这样的数组 JSON 对象:
$json = [
{name: "XCB808tvXNpqXKqekA2HlkJ8H.jpg", size: 5112},
{name: "s6kA6B0e5m1sdSAjPXqNwtiy4.jpg", size: 13135}
]
由于某种原因,我没有在 name 和 size 索引中添加双引号,我想在 Laravel 5.1 中解码 JSON 并使用 foreach() 进行迭代。但是当像这样使用 foreach 时:
$json = json_decode($json,true);
foreach ($json as $val) {
Image::create(['filename' => $val['name'], 'size' => $val['size']]);
}
然后误会我:
json_decode() expects parameter 1 to be string, array given
【问题讨论】:
-
您的 JSON 数据来自哪里?
-
javascript (angularjs)
-
为什么会出现这种错误的格式?它来自您自己的代码?如果是,你能显示js代码吗?这是因为是的,它可以在 php 中解决你的问题,但是如果你有一个有效的 JSON 会好得多
-
"我有这样的数组 JSON 对象:- 这不是 JSON。它看起来像有效的 Javascript ......但你似乎试图在 PHP 中使用该变量。我不是有效的 PHP .
标签: php arrays json laravel decode