Conectores de JSON

JSON es un formato de estándar abierto que utiliza texto en lenguaje natural para transmitir objetos de datos formados por pares clave-valor. Es el formato de datos más habitual para la compilación de interfaces API de sitios web.

Como los documentos JSON pueden tener muchos formatos diferentes, hay 3 conectores de JSON para extraer los datos de un archivo JSON:

  • Conector de archivo JSON

  • Conector de línea JSON

  • Conector de Dic JSON

Nota

Si el conector no consigue extraer por completo un documento con una estructura compleja, emplee uno de los procesadores JSON para efectuar la extracción.

Archivo JSON

Este conector extrae un documento JSON válido (matriz u objeto) en un conjunto de datos de varios registros.

  • Si el documento es una matriz JSON, se creará un registro para cada uno de los objetos en la matriz (las claves se usarán como nombres de columna).

  • Si el documento es un objeto JSON, el parámetro "JSON root" debe contener una ruta separada por un punto de la matriz dentro del objeto. Si no se proporciona, el conector prueba con items.

Para cada uno de los elementos de la matriz, el conector puede seguir otra ruta antes de extraer los registros con el parámetro "Objeto JSON".

Tipos de archivo permitidos

  • Campos regulares (decimal, bool, string)

  • Objeto JSON: se usará tal cual.

  • Matriz:
    • Si la matriz contiene objetos JSON, se usará tal cual.

    • Si contiene cadenas, se creará un campo multivalor con todas las cadenas separadas por un punto y coma (";").

Creación

Consulte cómo añadir un archivo.

Configuración

Nombre

Descripción

Uso

Extraer nombre de archivo

Crea una columna nueva con el nombre del archivo de origen.

De forma predeterminada, la casilla no está marcada. Marque la casilla para extraer el nombre de archivo en una columna añadida.

Raíz JSON

Ruta de la matriz JSON que contiene los objetos que se convertirán en los registros de conjuntos de datos.

Si la matriz JSON está directamente en la raíz, deje el cuadro de texto vacío. Si el archivo JSON es un objeto JSON, escriba la ruta iJSON de la matriz en el cuadro de texto.

Nota

iJSON es una sintaxis para navegar dentro de los objetos JSON. Consiste en separar los nombres de atributos por puntos (p. ej. content.trains). Hay más funciones disponibles para los usuarios avanzados.

Objeto JSON

Ruta relativa del objeto JSON que se desea extraer.

Una vez que la raíz JSON se ha establecido (o se ha dejado vacía), si la vista previa muestra columnas irrelevantes, y el objeto JSON se ha extraído como valor de una columna, escriba el nombre de esa columna en el cuadro de texto del objeto JSON.

Ejemplos

Ejemplo 1:

[
 {
     "name": "Agra Express",
     "origin": "Agra Cantt",
     "destination": "New Delhi"
 },
 {
     "name": "Gour Express",
     "origin": "Balurghat",
     "destination": "Sealdah"
 }
]

En este archivo JSON, la matriz JSON está directamente en la raíz. No es necesario completar la configuración de la raíz JSON.

El conjunto de datos resultante será (el orden de las columnas puede variar):

name

origen

destination
Agra Express Agra Cantt New Delhi
Gour Express Balurghat Sealdah

Ejemplo 2:

{
 "filename": "trains.json",
 "content": {
     "trains": [
         {
             "id": 123,
             "info": {
                 "name": "Agra Express",
                 "origin": "Agra Cantt",
                 "destination": "New Delhi"
             }
         },
         {
             "id": 555,
             "info": {
                 "name": "Gour Express",
                 "origin": "Balurghat",
                 "destination": "Sealdah"
             }
         }
     ]
 }
}

Para este archivo JSON complejo, la raíz JSON correcta es content.trains. Si content.trains se ha establecido como raíz JSON, el conjunto de datos resultante será:

id info
123 {"origin": "Agra Cantt", "destination": "New Delhi", "name": "Agra Express"}
555 {"origin": "Balurghat", "destination": "Sealdah", "name": "Gour Express"}

Para extraer tan solo los objetos JSON info y pasar por alto el número id, el objeto JSON correcto es info. Si info se ha establecido como objeto JSON, el conjunto de datos resultante será:

name

origen

destination
Agra Express Agra Cantt New Delhi
Gour Express Balurghat Sealdah

Línea JSON

Este conector espera un archivo en que cada una de las líneas es un documento JSON de una línea. El archivo entero no es un documento JSON válido, pero sí lo es cada una de las líneas.

El conector admite 2 modos:

  • Una matriz JSON en cada una de las líneas (o una matriz entera)

  • Un objeto JSON en cada una de las líneas

Tipos de archivo permitidos

  • Campos regulares (decimal, string)

  • Matriz: se usará tal cual

  • Objeto JSON: se usará tal cual.

Creación

Consulte cómo añadir un archivo.

Configuración

Nombre

Descripción

Uso

Extraer nombre de archivo

Crea una columna nueva con el nombre del archivo de origen.

De forma predeterminada, la casilla no está marcada. Marque la casilla para extraer el nombre de archivo en una columna añadida.

Primer número de línea

Para los archivos que no empiezan en la primera línea, se puede decidir qué línea debe considerarse la primera. Las líneas por encima de esta se pasarán por alto en el conjunto de datos.

De forma predeterminada, el conjunto de datos empieza en la línea 1. Indique el número de la línea que debe considerarse el comienzo del conjunto de datos.

Encabezados

Para los archivos en que la primera línea contiene títulos de columna.

De forma predeterminada, la casilla está marcada. Hace de los valores de la primera línea las etiquetas de campo Desmarque la casilla si la primera línea no contiene títulos sino datos: así, las etiquetas de campo estarán vacías de forma predeterminada.

Dic JSON

Este conector extrae un documento JSON válido (matriz u objeto) en un conjunto de datos de varios registros.

Espera un objeto JSON donde cada clave contiene un registro, y crea registros con una columna para contener la clave, y una columna para cada atributo del objeto correspondiente (o una sola columna denominada "value" si el valor es una cadena en lugar de un objeto).

Tipos de archivo permitidos

  • Campos regulares (decimal, bool, string)

  • Objeto JSON: se usará tal cual.

  • Matriz:
    • Si la matriz contiene objetos JSON, se usará tal cual.

    • Si contiene cadenas, se creará un campo multivalor con todas las cadenas separadas por un punto y coma (";").

Creación

Consulte cómo añadir un archivo.

Configuración

Nombre

Descripción

Uso

Extraer nombre de archivo

Crea una columna nueva con el nombre del archivo de origen.

De forma predeterminada, la casilla no está marcada. Marque la casilla para extraer el nombre de archivo en una columna añadida.

Raíz JSON

Ruta del objeto JSON que contiene los registros.

Si el objeto JSON está directamente en la raíz, deje el cuadro de texto vacío. De lo contrario, escriba la ruta iJSON del objeto en el cuadro de texto.

Nota

iJSON es una sintaxis para navegar dentro de los objetos JSON. Consiste en separar los nombres de atributos por puntos (p. ej. content.trains). Hay más funciones disponibles para los usuarios avanzados.

Nombre de campo clave

Etiqueta de la columna "key".

De forma predeterminada, "key". Escriba la nueva etiqueta de la columna "key" en el cuadro de texto. Así se modificará tanto la etiqueta como el identificador técnico de la columna.

Ejemplos

Ejemplo 1:

{
  "2016": {
    "type1": {
      "price": 10,
      "color": "blue",
      "available": true
    },
    "type2": {
      "price": 9,
      "color": "red",
      "available": true
    }
  },
  "2015": {
    "type1": {
      "price": 10.5,
      "color": "teal",
      "available": true
    },
    "type2": {
      "price": 9.1,
      "color": "crimson",
      "available": true
    }
  }
}

Si la raíz JSON se ha dejado vacía, el conjunto de datos resultante será:

llave

type1 type2
2016 {"color": "blue", "available": true, "price": 10} {"color": "red", "available": true, "price": 9}
2015 {"color": "teal", "available": true, "price": 10.5} {"color": "crimson", "available": true, "price": 9.1}

Ejemplo 2:

{
  "results": {
    "datasets": [{
        "abc": {
          "title": "A B C",
          "description": "A description about ABC"
        }
      },
      {
        "xyz": {
          "title": "D E F",
          "description": "Another description"
        }
      }
    ]
  }
}

Para este archivo JSON complejo, la raíz JSON correcta es results.datasets.item.

  • results.datasets lleva a la matriz

  • item itera dentro de la matriz y obtiene cada uno de los objetos

llave

Descripción

Título

abc

Una descripción acerca de ABC

A B C
xyz

Otra descripción

D E F