Skip to main content

JSON Parse tool Ferramenta Análise JSON

Fluxo de trabalho de exemplo

A ferramenta Análise JSON tem um fluxo de trabalho de exemplo. Visite Exemplos de fluxos de trabalho para saber como acessar esse e muitos outros exemplos diretamente do Alteryx 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.

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

JSON_Name é a "chave" de um objeto JSON (par chave-valor). Um ponto separa a chave de quaisquer categorias hierárquicas.

JSON_Value String

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].

JSON_ValueInt

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].

JSON_ValueFloat

O "valor" float correspondente ao objeto JSON (par chave-valor). Se o valor não for um float, ele é exibido como [Null].

JSON_ValueBool

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 entre colchetes onde o nome da coluna é "horas" e o valor da coluna é uma matriz:

[    
    {"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