Como eu aprendo a escrever um programa que pode extrair objetos de JSON / XML?

0

Aviso de isenção

Em primeiro lugar, esta é uma das minhas primeiras perguntas sobre SE, então peço desculpas se eu quebrar quaisquer convenções escritas ou não escritas.

Introdução

No meu trabalho em um tipo de serviço ao cliente / função de suporte, muitas vezes tenho que verificar os arquivos de log de uma das nossas interfaces REST (formato JSON).

Este registro contém as solicitações feitas em um dos nossos serviços da web. Os dados são estatisticamente interessantes para nós, então em algum momento um de nossos desenvolvedores fez uma ferramenta que extraiu dados do log e retornou um arquivo CSV que pode ser usado para manipulação de dados.

No entanto, um dos nossos outros clientes (em outro servidor) usa o serviço da Web de maneira um pouco diferente, o que faz com que a ferramenta não consiga processar os dados. O problema é que nossos desenvolvedores estão muito ocupados e isso não é um problema de alta prioridade. Ainda assim, parece-me que isso deve ser bastante simples, então eu gostaria de causar uma boa impressão e talvez construir isso sozinho.

Exemplo

Exemplo de entrada (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

Exemplo de saída (CSV):

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

Eu tenho um talento técnico , mas absolutamente nenhum treinamento formal em codificação além dos cursos básicos de HTML, Python e Ruby na CodeAcademy.

Pergunta

Esta é realmente uma questão de duas partes:

  1. Como / onde eu aprendo a fazer essa ferramenta / script? Qual idioma, qual canal aprender com etc.
  2. É realista para mim tentar construí-lo? E o tempo consumido está aprendendo isso vale a pena?

Informação extra

Eu quero construir a ferramenta sozinho; não copie em uma solução que um de vocês poderá fazer em minutos. Uma razão para isso é que o uso do nosso serviço da web varia de cliente para cliente, então outro cliente pode usá-lo dessa maneira (que eu também quero estar preparado):

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

(por favor, note que em vez de colocar o pedido diretamente após /, o pedido é inserido no campo "ID_1" e um campo extra opcional "ID_2" também contém dados)

    
por Grobsrop 31.01.2017 / 12:44

0 respostas

Tags