2014-10-21 11 views
0

downvote에 감사드립니다.PHP에서 JSON 배열 사용

$decoded = json_decode($curl_response,true); 

을 그 배열을 사용하여 문제가 있어요 :

내가 JSON 형식의 작업 목록을 반환하는 REST API를 가지고, 내가 사용 배열 로 디코딩.

편집 : 질문을 수정 죄송하지만 JSON 응답에서 API 키가 로그인 할 때 curl_response이

{ 
    "error": true, 
    "message": "Api key is misssing" 
} 

, 나는 더 사용하는 방법을 모르겠어요. 이 키는 api 키의 추가 호출에서 인증에 필요합니다. 요청 헤더에 apikey를 추가하여 말풍선을 추가하는 방법은 무엇입니까? 감사.

{ 
    error: false 
    tasks: [5] 
     0: { 
      id: 2 
      task: "[email protected]" 
      status: 0 
      createdAt: "2014-10-21 21:42:48" 
     }- 
     1: { 
      id: 3 
      task: "Inter Nam" 
      status: 0 
      createdAt: "2014-10-21 21:42:58" 
     }- 
     2: { 
      id: 4 
      task: "Vamos" 
      status: 0 
      createdAt: "2014-10-21 21:43:04" 
     }- 
     3: { 
      id: 5 
      task: "El Mundo" 
      status: 0 
      createdAt: "2014-10-21 23:12:33" 
     }- 
     4: { 
      id: 6 
      task: "El Clasico" 
      status: 0 
      createdAt: "2014-10-21 23:12:45" 
     }- 
    - 
} 

내가 배열의 이상 반응 $ 디코딩을 해독하려고 노력하고 난에서 각 작업을 표시하려면 : (크롬의 고급 REST 클라이언트를 사용하여 테스트로)

응답의 형식은 루프, 총 번호를 얻으십시오. 작업 등. -------------------------------- (1) Count ($ decoded) 사용하기 2가 분명히 잘못되었습니다. 또한 다음을 사용하여 개별 작업을 수행 할 수 없습니다.

foreach($decoded as $task) { 
    echo $task["task"]; 
} 

구현 방법 (1)? 당신의 도움을 주셔서 감사합니다.

+0

'tasks' 항목을 열어야합니다; 'foreach ($ 작업으로 $ [[tasks]를 디코딩)'. – h2ooooooo

+0

CURL 호출에서 원시 응답을 게시하십시오. 해당 데이터 구조가 문제가있는 유효한 JSON이 아니거나 질문에 붙여 넣기 전에 어떻게 든 변경했습니다. – RiggsFolly

+0

@RiggsFolly 원시 응답을 얻는 방법 CURL 통화에서 왔습니까? –

답변

0

액세스하려는 항목 위에 다른 레벨이 있습니다. 이것을 시도하십시오 :

$tasks = $decoded['tasks']; 
foreach($tasks as $task) { 
    echo $task["task"]; 
} 
+0

나는 네가 옳을 것이라고 확신하지만 그것은 나를 위해 일하지 않는다. –

+0

결과가 없습니다. 내 컬 응답이 정확한지 어떻게 확인할 수 있습니까? –

+0

흠, 벌써 괜찮다고 말했어. '$ curl_response'를 그냥 울릴 수 있습니까? – rjdown