2012-07-17 52 views
3

我得到了以下JSON響應:一些錯誤的JSON解析在PHP

[ 
    { 
     "startDate": "2012-07-12 11:21:38 +0530", 
     "totalTime": 0 
    }, 
    { 
     "startDate": "2012-07-11 11:27:33 +0530", 
     "totalTime": 0 
    }, 
    { 
     "startDate": "2012-07-16 18:38:37 +0530", 
     "totalTime": 0 
    }, 
    { 
     "startDate": "2012-07-17 14:18:32 +0530", 
     "totalTime": 0 
    } 
] 

我想要做的startDate和TOTALTIME的陣列,我已經使用這兩條線,但它不會工作,請建議..

$obj = json_decode($dateTimeArr); 
    $dateAr = $obj->{'startDate'}; 
+0

一個建議:它怎麼知道這在JSON響應對象應該得到的開始日期?嘗試確保您獲得三個中的第一個,也許。 – 2012-07-17 10:27:47

回答

5

您的JSON字符串表示一個數組或對象。陣列中的每個項目都是一個對象,如{"startDate":"2012-07-12 11:21:38 +0530","totalTime":0}。因此json_decode($dateTimeArr);返回數組。如果你想訪問第一個元素,你可以使用$obj[0]語法。然後要獲得startDate屬性,請使用$obj[0]->startDate

可以使用foreach遍歷所有數組的項目:

foreach ($obj as $item) { 
    echo $item->startDate, "\n"; 
} 
+0

恩,謝謝它的作品 – 2012-07-17 12:42:56