Skip to main content

JSON Parse tool Herramienta Análisis JSON

Ejemplo de uso de herramienta

La herramienta Análisis JSON tiene un ejemplo de uso. Consulta Flujos de trabajo de muestra para aprender cómo acceder a este y muchos otros ejemplos directamente en Alteryx Designer.

Utiliza la herramienta Análisis JSON para separar el texto JavaScript Object Notation (JSON) en un esquema de tabla para su procesamiento posterior. Puedes utilizar la salida a la herramienta Compilación JSON para reconstruirla en un formato JSON utilizable.

Configurar la herramienta

  • Campo JSON: selecciona los campos que contienen texto JSON. El campo debe contener JSON válido con todo el texto de un registro en una sola celda. Consulta este ejemplo:

       {
            "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"
            }
        ]
    }
  • Entrada en la salida: la columna seleccionada se incluye en el flujo de datos que sale de la herramienta.

Elige cómo se analiza el JSON. Las opciones son:

  • Emitir valores de salida en un solo campo de cadena

  • Emitir valores de salida en campos específicos para cada tipo de dato

  • Anular anidación de campo JSON: esta opción está disponible solo a través de AMP.

  • Aplanar matriz: esta opción está disponible solo a través de AMP.

Consulta las secciones siguientes a fin de obtener información adicional y ejemplos para cada una de las opciones anteriores.

Esta opción genera 2 campos: JSON_Name y JSON_ValueString. Al utilizar el ejemplo de entrada anterior, estos datos salen de la herramienta:

Ejemplo

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"
        }
    ]
}
Salida de la herramienta Análisis 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

home

phoneNumber.0.number

212-555-1234

phoneNumber.1.type

fax

phoneNumber.1.number

646-555-4567

Esta opción genera estos 5 campos:

Nombre del campo

Descripción

JSON_Name

JSON_Name es la “clave” de un objeto JSON (par de clave:valor). Un punto separa la clave y cualquier categoría jerárquica.

Cadena JSON_Value

El "valor" de cadena correspondiente al objeto JSON (par clave:valor). Si el valor no es una cadena, se mostrará como [Null].

JSON_ValueInt

El "valor" entero correspondiente al objeto JSON (par clave:valor). Si el valor no es un entero, se mostrará como [Null].

JSON_ValueFloat

El "valor" flotante correspondiente al objeto JSON (par clave:valor). Si el valor no es flotante, se mostrará como [Null].

JSON_ValueBool

El "valor" bool correspondiente al objeto JSON (par clave:valor). Si el valor no es bool, se mostrará como [Null].

Ejemplo

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"
        }
    ]
}
Salida de la herramienta Análisis 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

home

[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 opción permite desanidar objetos JSON en columnas. Solo va un nivel más profundo en el objeto JSON.

Aviso

Desanidar campo JSON está disponible solo a través de AMP.

Ejemplo

Entrada JSON

Considera una columna “hours” (horas) en la entrada con estos 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"}
}
Salida de la herramienta Análisis JSON

Esta es la salida cuando desanidas la columna “hours” anterior:

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"}

  • La desanidación en la columna “hours” muestra las columnas “hours.Tuesday”, “hours.Friday”, “hours.Monday” y así sucesivamente.

  • “hours.Tuesday” continúa llevando el objeto: {“close”: “17:00”, “open”: “08:00”}. Puedes desanidar esto de nuevo a hours.Tuesday.close y hours.Tuesday.open con otra herramienta de Análisis JSON.

Esta opción es aplicable para las columnas que solo tienen valores de matriz. Te permite expandir una columna de matriz JSON eliminando los corchetes. Crea una fila separada para cada elemento separado por una coma y asigna un ID para cada fila.

Aviso

Aplanar matriz está disponible solo a través de AMP.

Ejemplo

Entrada JSON

Considera esta entrada de matriz entre corchetes donde el nombre de la columna es “hours” y el valor de la columna es una 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"}
]
Salida de la herramienta Análisis 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