如何学习编写一个可以从 JSON/XML 中提取对象的程序?

如何学习编写一个可以从 JSON/XML 中提取对象的程序?

免责声明

首先,这是我在 SE 上提出的第一个问题之一,因此如果我违反了任何书面或非书面的惯例,我深表歉意。

介绍

在我的客户服务/支持工作中,我经常需要检查我们的 REST 接口(JSON 格式)的日志文件。

此日志包含我们某个 Web 服务上发出的请求。这些数据对我们来说具有统计意义,因此我们的一位开发人员制作了一个工具,可以从日志中提取数据并返回可用于数据操作的 CSV 文件。

但是,我们的另一位客户(在另一台服务器上)使用 Web 服务的方式略有不同,这导致该工具无法处理数据。问题是我们的开发人员非常忙,这不是一个高优先级的问题。不过,我觉得这应该相当简单,所以我想给人留下好印象,也许自己构建这个。

例子

示例输入(JSON):

2017-01-31 05:42:43:587 -> 2017-01-31 05:42:43:587:1536:GET /v1/webservice_path.../ABC123 X-Api-Key:xyz  
2017-01-31 05:42:43:587 <- 2017-01-31 05:42:43:587:1536:OK:{
    "parameter 1": true,
    "parameter 2": true

示例输出(CSV):

ID;Parameter 1;Parameter 2
ABC123;true;true

我有技术天赋但除了 CodeAcademy 上的最基础的 HTML、Python 和 Ruby 课程外,绝对没有接受过正式的编码培训。

问题

这实际上是一个由两部分组成的问题:

  1. 我如何/在哪里学习制作这样的工具/脚本?哪种语言,从哪个渠道学习等。
  2. 我尝试构建这个功能是否现实?学习这个功能所花的时间是否值得?

额外信息

我想自己构建这个工具;而不是复制你们其中一人可能在几分钟内就能做出的解决方案。其中一个原因是,我们 Web 服务的使用因客户而异,因此另一个客户可能会这样使用它(我也想做好准备):

2017-01-31 05:42:43:587 -> 2017-01-31 05:42:43:587:1536:GET /v1/webservice_path.../ ID_1:ABC123 ID2_:QWE456 X-Api-Key:xyz  
2017-01-31 05:42:43:587 <- 2017-01-31 05:42:43:587:1536:OK:{
    "parameter 1": true,
    "parameter 2": true
    "parameter 3": true

(请注意,请求不是直接放在 / 后面,而是输入到字段“ID_1”中,并且可选的额外字段“ID_2”也包含数据)

相关内容