【问题标题】:Extracting Json Data from PHP log file [duplicate]从 PHP 日志文件中提取 Json 数据
【发布时间】:2016-05-26 06:32:06
【问题描述】:

我是php新手, 这是我的 json 文件,

{"hint_data":{"locations":["AXQDAP____8AAAAABwAAABEAAAAYAAAAIwIAAERwAgAAAAAADgyCAef7TAMCAAEB","bOsDAP____8AAAAAAwAAAAcAAADFAQAAFAAAAEJwAgAAAAAANQeCAdzdTAMFAAEB"],"checksum":326195011},"route_name":["",""],"via_indices":[0,15],"via_points":[[25.299982,55.376873],[25.29874,55.369179]],"found_alternative":false,"route_summary":{"end_point":"","start_point":"","total_time":101,"total_distance":871},"route_geometry":"{_ego@m}|rhBpBaBvHuC`EuArEUtEtAlDvEnD`MlDvMli@hsEfFzn@QlTgNhwCs@fKwBjF","status_message":"Found route between points","status":0}

我只需要从 json 中提取 total_time 并将其打印到 csv 文件中,有人可以帮我吗?

【问题讨论】:

  • 使用 json_decode 和 foreach 循环
  • 你能写一个完整的代码吗?非常感谢。

标签: php json parsing csv


【解决方案1】:

使用json_decode,您可以从您的 json 中获取总时间。

使用json_decode 可以获得关联数组,使用索引可以访问总时间的值,如下所示。

Check online

$json = '{"hint_data":{"locations":["AXQDAP____8AAAAABwAAABEAAAAYAAAAIwIAAERwAgAAAAAADgyCAef7TAMCAAEB","bOsDAP____8AAAAAAwAAAAcAAADFAQAAFAAAAEJwAgAAAAAANQeCAdzdTAMFAAEB"],"checksum":326195011},"route_name":["",""],"via_indices":[0,15],"via_points":[[25.299982,55.376873],[25.29874,55.369179]],"found_alternative":false,"route_summary":{"end_point":"","start_point":"","total_time":101,"total_distance":871},"route_geometry":"{_ego@m}|rhBpBaBvHuC`EuArEUtEtAlDvEnD`MlDvMli@hsEfFzn@QlTgNhwCs@fKwBjF","status_message":"Found route between points","status":0}';
$assoc = true;
$result = json_decode ($json, $assoc);

echo $result['route_summary']['total_time']; //101

【讨论】:

  • 谢谢 frayne 我会去看看。如果有大约 900 个 json 数据,我应该将其存储在一个文件中并解析该文件吗?
  • 查看这里:3v4l.org/qiFnq
  • 您需要跟踪从json_decode 获得的阵列。如果您能看到这一点,就不会像您想象的那样混乱。
  • 使用您的 json sting here 并查看数组。
  • 谢谢,Frayne,如果我需要在从 json 提取的总时间数据之后在我的文件标题“total_time”中添加一列,我该怎么办?
【解决方案2】:

首先,您将 JSON 数据解码回 PHP 对象。然后您可以访问对象的总时间属性,如下所示:

    <?php
        $json       = '{"hint_data":{"locations":["AXQDAP____8AAAAABwAAABEAAAAYAAAAIwIAAERwAgAAAAAADgyCAef7TAMCAAEB","bOsDAP____8AAAAAAwAAAAcAAADFAQAAFAAAAEJwAgAAAAAANQeCAdzdTAMFAAEB"],"checksum":326195011},"route_name":["",""],"via_indices":[0,15],"via_points":[[25.299982,55.376873],[25.29874,55.369179]],"found_alternative":false,"route_summary":{"end_point":"","start_point":"","total_time":101,"total_distance":871},"route_geometry":"{_ego@m}|rhBpBaBvHuC`EuArEUtEtAlDvEnD`MlDvMli@hsEfFzn@QlTgNhwCs@fKwBjF","status_message":"Found route between points","status":0}';
        $data       = json_decode($json);
        $totalTime  = $data->route_summary->total_time;
        var_dump($totalTime);    // DUMPS     101

【讨论】:

    猜你喜欢
    • 2022-11-30
    • 2022-10-13
    • 1970-01-01
    • 2014-09-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-07-04
    相关资源
    最近更新 更多