Usando Python para analisar a resposta do JSON
Baixar como PDF
Compartilhar
- Última atualização2023/04/05
Usando Python para analisar a resposta do JSON
Use o script de Python do Automation 360 para executar funções em Python para criar um bot. Use as funções em Python para analisar a resposta JSON de uma solicitação GET de serviços web REST.
Pré-requisitos
Certifique-se de ter o seguinte para criar o bot:
- Compreensão básica da linguagem de programação Python.
- Experiência básica com a criação de bots Automation Anywhere.
- Baixar e instalar o Python 3.
Realize uma das seguintes opções:
- Durante a instalação do Python, certifique-se de selecionar Adicionar Python x.xx ao PATH durante a instalação da Python.
-
Adicione um caminho para a variável Ambiente.
- Durante a instalação do Python, certifique-se de selecionar Adicionar Python x.xx ao PATH durante a instalação da Python.
Procedimento
- Faça login no Control Room.
-
No painel da esquerda, clique em Automation (Automação).
Uma lista de formulários e bots disponíveis é exibida.
-
Clique no ícone Criar um bot.
- No campo Nome, digite PythonTutorial.
- Clique em Criar e editar.
-
No painel Ações, clique em Variáveis para criar as seguintes novas variáveis:
- Nome dResponse, Tipo > Dicionário e Subtipo > String.
- Nome dRetrieveValue, Tipo > Dicionário e Subtipo > Qualquer.
- Nome dResponseBody, Tipo > String.
- Nome sFullName, Tipo > String.
- Nome sLocation, Tipo > String.
- Nome sTotalUserCount, Tipo > String.
- Nome nTotalUserCount, Tipo > Número.
- Nome nCurrentUser, Tipo > Número.
- Nome sCurrentUser, Tipo > String.
- Nome prompt-assignment, Tipo > String.
-
No painel Ações, selecione REST Web Services > Método Get e coloque-o sob o Início do fluxo do bot.
-
No campo URI, insira https://randomuser.me/api/?results=5&inc=name,email,location&nat=us.
Essa é uma API de exemplo que retorna detalhes aleatórios do usuário para o aplicativo de chamada.
-
Na lista suspensa Modo de autenticação, selecione Sem autenticação.
- Na lista suspensa Atribuir a saída a uma variável, selecione dResponse – Dicionário de strings.
-
No campo URI, insira https://randomuser.me/api/?results=5&inc=name,email,location&nat=us.
-
A partir do painel de Ações, clique na ação String > Atribuir e arraste-a para dentro da tela abaixo da ação Serviços Web REST.
-
No campo Selecionar o valor da variável da string de origem, insira $dResponse{Body}$.
- Na lista suspensa Selecione a variável string de destino, selecione dResponseBody – String.
-
No campo Selecionar o valor da variável da string de origem, insira $dResponse{Body}$.
-
A partir do painel de Ações, clique em Roteiro Python > Aberto e arraste-a para dentro da tela abaixo da ação String > Atribuir.
-
No campo Python, selecione Entrada manual.
-
No campo Inserir script aqui, copie e cole o código a seguir.
import json def get_node_count(response): #parse response as json response_dict=json.loads(response) # Create list from JSON body response_body = response_dict['results'] #return the count of entries in JSON body as string lengthasstring = str(len(response_body)) return lengthasstring def get_full_name(dictRequest): itemCount = int(dictRequest['count']) #parse response as json response_dict=json.loads(dictRequest['response']) # Create list from JSON body response_body = response_dict['results'] #Extract values to return return response_body[itemCount]['name']['first'] + " " + response_body[itemCount]['name']['last'] def get_location(dictRequest): itemCount = int(dictRequest['count']) #parse response as json response_dict=json.loads(dictRequest['response']) # Create list from JSON body response_body = response_dict['results'] #Extract values to return return response_body[itemCount]['location']['city'] + ", " + response_body[itemCount]['location']['state']
- No campo Versão do tempo de execução Python, mantenha o valor padrão como 3.
-
No campo Python, selecione Entrada manual.
-
A partir do painel de Ações, clique em Roteiro Python > Executar a função e arraste-a para dentro da tela abaixo da ação Roteiro Python > Aberto.
- No campo Sessão de Python, mantenha Padrão.
- No campo Inserir o nome da função a ser executada, insira get_node_count.
-
Na lista suspensa Argumentos para a função, selecione dResponseBody – String.
- Na lista suspensa Atribuir a saída a uma variável, selecione sTotalUserCount – String.
-
A partir do painel de Ações, clique em Dicionário > Colocar e arraste-a para dentro da tela abaixo da ação Roteiro Python > Abrir.
- No campo Variável do dicionário, selecione dRetrieveValue – Dicionário.
- No campo Associar a esta chave, insira response.
- Na lista suspensa Novo valor, selecione dResponseBody – String.
-
Na lista suspensa Atribuir valor anterior a uma variável, selecione prompt-assignment – String.
-
A partir do painel de Ações, clique em String > Para número e arraste-a para dentro da tela abaixo da ação Dicionário > Colocar.
- No campo Digite a string, insira $sTotalUserCount$.
-
Na lista suspensa Atribuir a saída a uma variável, selecione sTotalUserCount - Número.
-
No painel Ações, clique em Loop > Loop.
- No Tipo de loop > Iterador, selecione Por n vezes na lista suspensa.
- No campo vezes, insira $nTotalUserCount$.
-
Na lista suspensa Atribuir o valor atual a uma variável, selecione nCurrentUser - Número.
-
No painel Ações, clique em Número, selecione Diminuição e coloque-a dentro da ação Loop.
- No campo Inserir número, digite $nCurrentUser$.
- No campo Inserir valor de diminuição, digite 1.
-
Na lista suspensa Atribuir a saída a uma variável, selecione nCurrentUser - Número.
-
No painel Ações, clique em Número, selecione Em string e coloque-a dentro da ação Loop, abaixo de Número > Diminuição.
- No campo Inserir um número, digite $nCurrentUser$.
- No campo Inserir número de dígitos após decimal, digite 0.
-
Na lista suspensa Atribuir a saída a uma variável, selecione sCurrentUser - String.
-
No painel Ações, clique em Dicionário > Colocar e coloque-a dentro da ação Loop.
- No campo Variável do dicionário, selecione dRetrieveValue – Dicionário.
- No campo Associar a esta chave, insira count.
- Na lista suspensa Novo valor, selecione sCurrentUser – String.
-
Na lista suspensa Atribuir valor anterior a uma variável, selecione prompt-assignment – String.
-
No painel Ações, clique em Script de Python > Executar função e coloque dentro da ação Loop.
- No campo Sessão de Python, mantenha Padrão.
- No campo Inserir o nome da função a ser executada, insira get_full_name.
- Na lista suspensa Argumentos para a função, selecione dRetrieveValue – Dicionário.
-
Na lista suspensa Atribuir a saída a uma variável, selecione sFullName - String.
-
No painel Ações, clique em Script de Python > Executar função e coloque dentro da ação Loop.
- No campo Sessão de Python, mantenha Padrão.
- No campo Inserir o nome da função a ser executada, insira get_location.
- Na lista suspensa Argumentos para a função, selecione dRetrieveValue – Dicionário.
-
Na lista suspensa Atribuir a saída a uma variável, selecione sLocation - String.
-
No painel Ações, clique em Caixa de mensagem e coloque-a dentro da ação Loop.
-
No campo Inserir a mensagem a ser exibida, insira o seguinte:
Full Name: $sFullName$ Location: $sLocation$
-
Selecione Fechar caixa de mensagem após > Segundos, digite 5.
-
No campo Inserir a mensagem a ser exibida, insira o seguinte:
-
No painel Ações, clique em Script de Python > Fechar e coloque dentro da ação Loop.
-
No campo Sessão de Python, mantenha Padrão.
-
No campo Sessão de Python, mantenha Padrão.
-
Clique em Salvar para salvar seu
bot
e, em seguida, clique em Executar.
O bot é executado, exibindo cinco nomes de usuário completos com locais por aproximadamente 5 segundos cada antes de concluir sua execução.
Se receber uma mensagem Erro de bot, veja as seções seguintes para obter uma solução: Getting Bot Error while executing Python Script/Function (A-People login required), Getting Bot Error or True value in message box while executing Python Script (A-People login required), ou An unexpected error occurred while executing Python Script command; Error code: bot.execution.error (A-People login required).