【发布时间】:2018-04-07 12:25:41
【问题描述】:
我有这个代码的 json 文件:
{
"data": [
{
"id": 33940157205526204,
"user": {
"id": 548844917,
"full_name": "DelacruzHayden",
"profile_picture": "https://scontent.cdninstagram.com/t51.2885-19/s150x150/87947328356424110_1657580247886246_102415570_a.jpg",
"username": "Noreen Lang"
},
...
]
}
当我想解析它时:
$data = file_get_contents("/home/lumawu/test.json");
do {
$medias = json_decode(json_encode($data),true);
foreach ($medias['data'] as $media) {
我得到错误:
[ErrorException]
Illegal string offset 'data'
如何解码?
【问题讨论】:
-
如果你的 $data 已经被 json 编码,你为什么要先对它进行 json_encode 编码?为什么不只使用
json_decode($data, true)? -
@JérémyCasper 因为当我使用它时,我得到:为 foreach() 提供的参数无效
-
var_dump($data)(就在 file_get_content 之后)返回 NULL 或其他什么?如果为NULL,则输入的json无效。 -
@JérémyCasper 返回 JSON 文件,但是当我想使用 foreach() - 得到错误。
-
和 var_dump($medias) ?也许您的数组的数据属性不是您认为的位置