如何解析文件中的JSON?

时间:2017-10-26 08:06:47

标签: php json laravel

我有这个代码的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' 

如何解码?

1 个答案:

答案 0 :(得分:0)

在您的代码中,您只需要执行json_decode($ data,true)以将json字符串转换为数组。

如果同时执行json_decode(json_encode($ data,true)), json_encode 将对json字符串进行编码,而下一个 json_decode 将无法解码json正确。

所以你的代码应该是这样的:

$data = file_get_contents("/home/lumawu/test.json");
        do {
            $medias = json_decode($data,true);
            foreach ($medias['data'] as $media) {