Ferramenta Análise JSON
Requisitos da função de usuário
Função de usuário* | Acesso à ferramenta/ao recurso |
|---|---|
Usuário completo | ✓ |
Usuário básico | X |
*Aplica-se a clientes do Alteryx OneProfessional e Enterprise Edition nas versões 2025.1 e posteriores do Designer.
Use a ferramenta Análise JSON para separar o texto JavaScript Object Notation (JSON) em um esquema de tabela para processamento posterior. Você pode alimentar a saída para a ferramenta Construir JSON para converter o texto de volta ao formato JSON.
Fluxo de trabalho de exemplo
Esta ferramenta tem um fluxo de trabalho de exemplo. Acesse Exemplos de fluxos de trabalho para saber como acessar esse e muitos outros exemplos diretamente no Alteryx Designer.
Configurar a ferramenta
Campo JSON: selecione os campos com texto JSON. A coluna deve conter um JSON válido com todo o texto de um registro em uma única célula. Veja este exemplo:
{ "firstName": "John", "lastName": "Smith", "age": 25, "address": { "streetAddress": "21 2nd Street", "city": "New York", "state": "NY", "postalCode": "10021" }, "phoneNumber": [ { "type": "home", "number": "212 555-1234" }, { "type": "fax", "number": "646 555-4567" } ] }Incluir entrada na saída: a coluna selecionada é incluída na saída do fluxo de dados da ferramenta.
Escolha como o JSON é analisado. As opções incluem...
Fazer a saída dos valores em um único campo de cadeia de caracteres
Fazer a saída dos valores em campos específicos para cada tipo de dados
Desaninhar campo JSON: esta opção está disponível apenas via AMP.
Nivelar matriz: esta opção está disponível apenas via AMP.
Consulte as seções abaixo para obter informações adicionais e exemplos para cada uma das opções acima.
Esta opção produz dois campos: JSON_Name e JSON_ValueString. Usando o exemplo da entrada acima, os seguintes dados saem da ferramenta:
Exemplo
Entrada JSON
{
"firstName": "John",
"lastName": "Smith",
"age": 25,
"address": {
"streetAddress": "21 2nd Street",
"city": "New York",
"state": "NY",
"postalCode": "10021"
},
"phoneNumber": [
{
"type": "home",
"number": "212 555-1234"
},
{
"type": "fax",
"number": "646 555-4567"
}
]
}Saída da ferramenta Análise JSON
JSON_Name | JSON_ValueString |
|---|---|
firstName | John |
lastName | Smith |
age | 25 |
address.streetAddress | 21 2nd Street |
address.city | New York |
address.state | NY |
address.postalCode | 10021 |
phoneNumber.0.type | início |
phoneNumber.0.number | 212-555-1234 |
phoneNumber.1.type | fax |
phoneNumber.1.number | 646-555-4567 |
Esta opção produz estes cinco campos:
Nome do campo | Descrição |
|---|---|
| JSON_Name é a "chave" de um objeto JSON (par chave-valor). Um ponto separa a chave de quaisquer categorias hierárquicas. |
| O "valor" de cadeia de caracteres correspondente ao objeto JSON (par chave-valor). Se o valor não for uma cadeia de caracteres, ele é exibido como [Null]. |
| O "valor" de número inteiro correspondente ao objeto JSON (par chave-valor). Se o valor não for um número inteiro, ele será exibido como [Null]. |
| O "valor" float correspondente ao objeto JSON (par chave-valor). Se o valor não for um float, ele é exibido como [Null]. |
| O "valor" booleano correspondente ao objeto JSON (par chave-valor). Se o valor não for booleano, ele é exibido como [Null]. |
Exemplo
Entrada JSON
{
"firstName": "John",
"lastName": "Smith",
"age": 25,
"address": {
"streetAddress": "21 2nd Street",
"city": "New York",
"state": "NY",
"postalCode": "10021"
},
"phoneNumber": [
{
"type": "home",
"number": "212 555-1234"
},
{
"type": "fax",
"number": "646 555-4567"
}
]
}Saída da ferramenta Análise JSON
JSON_Name | JSON_ValueString | JSON_ValueInt | JSON_ValueFloat | JSON_ValueBool |
|---|---|---|---|---|
firstName | John | [Null] | [Null] | [Null] |
lastName | Smith | [Null] | [Null] | [Null] |
age | [Null] | 25 | [Null] | [Null] |
address.streetAddress | 21 2nd Street | [Null] | [Null] | [Null] |
address.city | New York | [Null] | [Null] | [Null] |
address.state | NY | [Null] | [Null] | [Null] |
address.postalCode | 10021 | [Null] | [Null] | [Null] |
phoneNumber.0.type | início | [Null] | [Null] | [Null] |
phoneNumber.0.number | 212-555-1234 | [Null] | [Null] | [Null] |
phoneNumber.1.type | fax | [Null] | [Null] | [Null] |
phoneNumber.1.number | 646-555-4567 | [Null] | [Null] | [Null] |
Esta opção permite desaninhar objetos JSON em colunas. Vai somente um nível mais profundo no objeto JSON.
Atenção
O campo "Desaninhar campo JSON" está disponível apenas via AMP.
Exemplo
Entrada JSON
Considere uma coluna "hours" na entrada com estes valores:
{
"Tuesday": {"close": "17:00", "open": "08:00"},
"Friday": {"close": "17:00", "open": "08:00"},
"Monday": {"close": "17:00", "open": "08:00"},
"Wednesday": {"close": "17:00", "open": "08:00"},
"Thursday": {"close": "17:00", "open": "08:00"}
}Saída da ferramenta Análise JSON
Esta é a saída quando você desaninha a coluna "hours" acima:
hours.Tuesday | hours.Friday | hours.Monday | hours.Wednesday | hours.Thursday |
|---|---|---|---|---|
{"close":"17:00","open":"08:00"} | {"close":"17:00","open":"08:00"} | {"close":"17:00","open":"08:00"} | {"close":"17:00","open":"08:00"} | {"close":"17:00","open":"08:00"} |
Desaninhar na coluna "hours" produz colunas "hours.Tuesday", "hours.Friday", "hours.Monday" e assim por diante.
"hours.Tuesday" continua a carregar o objeto: {"close": "17:00", "open": "08:00"}. Você pode desaninhar isso novamente para "hours.Tuesday.close" e "hours.Tuesday.open" com outra ferramenta Análise JSON.
Esta opção é aplicável apenas a colunas que têm valores de matriz. Ela permite expandir uma coluna de matriz JSON removendo os colchetes. Cria uma linha separada para cada elemento separado por uma vírgula e atribui um ID a cada linha.
Atenção
"Nivelar matriz" está disponível apenas via AMP.
Exemplo
Entrada JSON
Considere esta entrada de matriz (array) entre colchetes onde o nome da coluna é "horas" e o valor da coluna é uma matriz (array):
[
{"day": "Monday", "open": "08:00", "close": "17:00"},
{"day": "Tuesday", "open": "08:00", "close": "17:00"},
{"day": "Wednesday", "open": "08:00", "close": "17:00"},
{"day": "Thursday", "open": "08:00", "close": "17:00"},
{"day": "Friday", "open": "08:00", "close": "17:00"}
]Saída da ferramenta Análise JSON
hours_flatten | hours_idx |
|---|---|
{"day":"Monday","open":"08:00","close":"17:00"} | 1 |
{"day":"Tuesday","open":"08:00","close":"17:00"} | 2 |
{"day":"Wednesday","open":"08:00","close":"17:00"} | 3 |
{"day":"Thursday","open":"08:00","close":"17:00"} | 4 |
{"day":"Friday","open":"08:00","close":"17:00"} | 5 |
