2012-07-17 55 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