You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何从指定URL的JSON中提取符合条件的locationDateTime值?

解决方案
  • 首先要明确,接口返回的data.content.containers.container是数组结构(包含多条容器状态记录),需要遍历数组筛选符合条件的项
  • 遍历过程中检查每条记录的label是否等于Empty Equipment Returned,匹配成功后提取locationDateTime中的日期值

完整代码如下:

$url = 'https://elines.coscoshipping.com/ebtracking/public/containers/FCIU5238624';
$datax = file_get_contents($url);
// 解码为关联数组,比对象更易操作
$x = json_decode($datax, true);

// 先校验JSON结构合法性,避免报错
if (isset($x['data']['content']['containers']['container']) && is_array($x['data']['content']['containers']['container'])) {
    foreach ($x['data']['content']['containers']['container'] as $container) {
        // 匹配目标label
        if ($container['label'] === 'Empty Equipment Returned') {
            // 提取日期:如果是ISO8601格式(如2024-05-20T14:30:00),直接截取前10位
            $date = substr($container['locationDateTime'], 0, 10);
            echo $date . PHP_EOL;
            // 若只需要第一个匹配项,可添加break终止循环
            // break;
        }
    }
} else {
    echo 'JSON结构异常或无有效数据';
}

补充说明

如果locationDateTime格式复杂,推荐用DateTime类解析,兼容性更强:

$dt = new DateTime($container['locationDateTime']);
$date = $dt->format('Y-m-d');

内容的提问来源于stack exchange,提问作者Fizz Shan

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.29 01:27:07