如何學習編寫可以從 JSON/XML 中提取物件的程式?

如何學習編寫可以從 JSON/XML 中提取物件的程式?

免責聲明

首先,這是我關於 SE 的第一個問題,所以如果我違反了任何成文或不成文的慣例,我深表歉意。

介紹

在我擔任客戶服務/支援角色的工作中,我經常需要檢查 REST 介面的日誌檔案(JSON 格式)。

該日誌包含對我們的一項網路服務發出的請求。這些數據在統計上對我們來說很有趣,因此在某個時候,我們的一位開發人員製作了一種工具,可以從日誌中提取資料並返回可用於資料操作的 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. 對我來說嘗試建構這個是否現實?學習所花的時間值得嗎?

額外資訊

我想自己建構這個工具;不要複製你們可能在幾分鐘內就能做出的解決方案。原因之一是我們的網路服務的使用因客戶而異,因此另一個客戶可能會像這樣使用它(我也想為此做好準備):

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」也包含資料)

相關內容