解码多个json对象php

时间:2013-10-25 12:04:31

标签: php json

我有这个jsone,我需要转换为三个不同的对象。 在一些PHP中。我知道我必须使用json_decode,但我只解码第一个对象,其他2个对象没有。

{
"recorrido":[
{
"lon":"-60.67216873168769",
"lat":"-32.9230105876913",
"date":"13/10/24-12:22:32",
"globaltime":"00:09",
"globalkm":0.0,
"speed":2.11,
"altitude":-32.9230105876913,
"groupId3":0,
"id":1,
"color":0,
"auxInt":0,
"groupId2":0,
"provider":1,
"groupId1":0,
"workoutid":1
},
{
"lon":"-60.67216873168769",
"lat":"-32.9230105876913",
"date":"13/10/24-12:22:35",
"globaltime":"00:12",
"globalkm":0.0,
"speed":2.11,
"altitude":-32.9230105876913,
"groupId3":0,
"id":2,
"color":0,
"auxInt":0,
"groupId2":0,
"provider":1,
"groupId1":0,
"workoutid":1
}
],
"user":{
"asunto":"",
"userId":1
},
"Itemout":{
"uploaded":"false",
"isSelected":false,
"id":1,
}
}
你怎么样?脚本必须在php中。对象“recorrido”是一个多数组对象。

2 个答案:

答案 0 :(得分:1)

没有测试,尝试这样的事情:

$tempArray = (array)$recorrido; // or how you cal your json object
foreach ($tempArray as $tempJson)
{
$myArray = json_decode($tempJson);
print_r($myArray);
}

答案 1 :(得分:0)

  1. 如果您有静态json结构,则可以使用硬编码方法:
  2. 显示如下

    $result = json_decode($json);
    $recorrido = $result->recorrido;
    // And so on
    

    另一方面,有一个数组的解决方法。

    list($arr1, $arr2, $arr3) = json_decode($json, true);
    

    此解决方案将使您从json获得三个数据数组。