我正在尝试遍历一些 JSON 数据并提取特定值。这是 JSON 数据和部分工作的代码。
$jsondata = '
[
{
"id" : "421356",
"trip_update" : {
"trip" : {
"trip_id" : "421356",
"start_time" : "12:05:00",
"start_date" : "20130926",
"route_id" : "15"
},
"stop_time_update" : {
"stop_sequence" :70,
"departure" : {
"delay" : 240,
"time" : 1380215057
},
"stop_id" : "6090"
},
"stop_time_update" : {
"stop_sequence" :71,
"departure" : {
"delay" : 240,
"time" : 1380215075
},
"stop_id" : "6095"
}
}
}]';
$result = json_decode($jsondata);
foreach($result as $value) {
echo "trip_id: ".$value->trip_update->trip->trip_id;
if (gettype($value->trip_update ) == "object") {
foreach($value->trip_update as $item) {
echo " - stop_sequence: ".$item->stop_sequence;
}
}
}
我可以在“trip_update->trip”下获得第一级数据。但在“trip_update”中也可以有任意数量的“stop_time_update”数据。由于此数据与 trip_update 数据相关,因此我需要遍历它并关联它。
最终目标是将此数据保存到数据库(代码中未显示),因此为清楚起见,这将是我想在此示例中保存的简化的 2 行数据库数据:
trip_id,stop_sequence
421356,70
421356,71
源数据中可以有任意数量的 stop_sequence。
这是代码的交互式链接,供您编辑或弄乱: http ://sandbox.onlinephpfunctions.com/code/f21ca8928da7de3e9fb351edb075d0a446906937