2016-11-25 2 views
2

에서 잘못된 JSON responce 핸들은, 자신의 CSGO 항목사이트와 메신저 타격에서 작업 3 패티

에 대한 사용자의 목록을 반환하는 API를 하네이 내가 그래서 DEV에서/로컬

$response = $this->guzzle->request('GET', "http://steamcommunity.com/profiles/{$communityId}/inventory/json/730/2"); 

을 명중 URL은 , 모두가 함께 잘 작동

foreach (json_decode($response->getBody()->getContents(), true)['rgDescriptions'] as $item) { 
     $inventory[$item['name']] = $item; 
    } 

return $inventory; 

을 다음하지만 난 내 foreach 루프에 대한 잘못된 인수에 대해 불평 내 사이트를 업데이트 할 때 - ($ 응답 -> 또는 getBody를() - - 덤핑 VAR의 후 getContents을> ()) - 만 반환됩니다 라이브 사이트 JSON 데이터에 이상한 펑키 물건을 포함 - 나는 일반적으로 JSON으로 새로운 해요하지만 다음

""" 
00006000\r\n 
{"success":true,"rgInventory":{"8161072596":{"id":"8161072596","classid":"1560432042","instanceid":"480085569","amount":"1","pos":1},"8159918836": 

{"internal_name":"normal","name":"Normal","category":"Quality","category_name":"Category"},{"internal_name":"Rarity_Ancient","name":"Extraordinary","category":"Rarity","color":"eb4b4b","category_name":"Quality"}]}},"more":false,"more_start":false}\r\n 
00000000\r\n 
\r\n 
""" 
같은 엔드 블록 같은 것들을 포함

그래서이 json_decode 응답이 assoc 배열 대신 null을 반환하기 때문에 foreach가 중단되는 이유는 무엇입니까? (하단의 모든 기능을 참조하십시오!)

잘 모르겠지만 줄 바꿈이라고 확신합니까? 자사의 성가신 나는 내 측면에 뭔가를 놓치고 있는지 또는 스팀으로부터의 응답을 비록 내가 dev에 잘 작동하는 것을 보지 못했지만 확실하지 않다.

또한 연구에서 magic_quotes를 접했지만 PHP 5.4에서 가치가 떨어졌음을 읽었습니다. 나는 5.6을 돌리고 있는데 내가 누락 된 서버 측이 있어야만한다고 생각할 수 있을까?

는 여기에 내가 얼마 전에 같은 문제를 겪고 참조

public function getCSGOInventory($communityId) 
{ 
    $response = $this->guzzle->request('GET', "http://steamcommunity.com/profiles/{$communityId}/inventory/json/730/2"); 

    $inventory = []; 
    foreach (json_decode($response->getBody()->getContents(), true)['rgDescriptions'] as $item) { 
     $inventory[$item['name']] = $item; 
    } 

    return $inventory; 
} 

답변

1

아래 내 도우미 함수입니다. 문제는 json 코드에서 00000000과 00006000과 같은 난수입니다. 이것은 Guzzle의 버그 인 것 같습니다. php-curl 패키지를 설치하여 문제를 해결할 수있었습니다. 당신은 여기에 대한 자세한 내용을 찾을 수 있습니다

sudo apt-get install php-curl 

: https://github.com/guzzle/guzzle/issues/1385

수행합니다 (귀하의 경우 우분투 같은 OS에) 문제를 해결하기 위해이 같은 경향을-수