我有一个使用 curl_multi 发出多个 GET 请求的函数。但是,我不知道如何将响应转换为 JSON,以便我可以在前端访问它。通常我使用 json_decode(),但是,这次它不起作用。也许是因为我试图解码整个字符串数组而不是单个字符串?。目前,前端的响应如下所示:这是我的功能:public function getVisited($username){ $user = User::where('username', $username)->first(); $visitedPlaces = $user->visitedPlaces; $finalPlaces = []; foreach ($visitedPlaces as $visitedPlace) { $url = "https://maps.googleapis.com/maps/api/place/details/json?placeid=" . $visitedPlace->place_id . "&key=AIzaSyDQ64lYvtaYYYNWxLzkppdN-n0LulMOf4Y"; array_push($finalPlaces, $url); } $result = array(); $curly = array(); $mh = curl_multi_init(); foreach ($finalPlaces as $id => $d) { $curly[$id] = curl_init(); $url = $d; curl_setopt($curly[$id], CURLOPT_URL, $url); curl_setopt($curly[$id], CURLOPT_HEADER, 0); curl_setopt($curly[$id], CURLOPT_RETURNTRANSFER, 1); curl_setopt($curly[$id], CURLOPT_SSL_VERIFYPEER, 0); // Skip SSL Verification curl_multi_add_handle($mh, $curly[$id]); } $running = null; do { curl_multi_exec($mh, $running); } while($running > 0); foreach($curly as $id => $c) { $result[$id] = curl_multi_getcontent($c); curl_multi_remove_handle($mh, $c); } curl_multi_close($mh); return response()->json([ 'sights' => $result ], 201);}
1 回答
慕仙森
TA贡献1827条经验 获得超7个赞
如果您期望来自 json 字符串,curl_multi_getcontent($c)
那么您应该对其进行解码:
$result[$id] = json_decode(curl_multi_getcontent($c));
然后它应该在响应中适当地编码。
- 1 回答
- 0 关注
- 605 浏览
添加回答
举报
0/150
提交
取消