如何在Laravel中解码JSON对象

Ehs*_*Ali 4 php json laravel laravel-5 laravel-5.1

我想在Laravel 5.1中解码gallery数组JSON对象.我的JSON是:

{
  "title": "aaaaaaaaaaaaaaaa",
  "category_id": "1",
  "user_id": "1",
  "gallery": "[{name: \"XCB808tvXNpqXKqekA2HlkJ8H.jpg\",size:5112},{name: \"s6kA6B0e5m1sdSAjPXqNwtiy4.jpg\", size: 13135}]"
}
Run Code Online (Sandbox Code Playgroud)

当我使用此代码时,请回复我null:

public function store(Request $request)
    {
         $json = json_decode($request['gallery'],true);
         return $json;
    }
}
Run Code Online (Sandbox Code Playgroud)

这是dd($request['gallery'])结果

[{'name': "XCB808tvXNpqXKqekA2HlkJ8H.jpg",'size':5112},{'name': "s6kA6B0e5m1sdSAjPXqNwtiy4.jpg", 'size': 13135}]
Run Code Online (Sandbox Code Playgroud)

Mop*_*ppo 6

解码过程是正确的.我认为你的问题是你可能有一个格式错误的JSON字符串.

用双引号替换属性名称周围的单引号:

[{"name": "XCB808tvXNpqXKqekA2HlkJ8H.jpg","size":5112},{"name": "s6kA6B0e5m1sdSAjPXqNwtiy4.jpg", "size": 13135}]
Run Code Online (Sandbox Code Playgroud)