Archivos 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, la plataforma puede extraer los datos de archivos JSON, archivos de líneas JSON y diccionarios JSON.

Nota

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

Archivo JSON

Puede utilizar un archivo JSON como origen. De este archivo, la plataforma 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, la plataforma prueba con items.

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

Tipos de archivo permitidos

  • Campos regulares (decimal, booleano, string)

  • Objeto JSON: se usa tal cual.

  • Matriz:

    • Si la matriz contiene objetos JSON, se usa tal cual.

    • Si la matriz contiene cadenas, se crea un campo multivalor con todas las cadenas separadas por un punto y coma (;).

Creación

Para obtener más información sobre cómo añadir un origen de archivo, consulte Recuperar un archivo.

Configuración

Parámetros JSON

Nombre

Descripción

Uso

Raíz JSON

Ruta ijson de la matriz JSON que contiene los objetos para extraer como registros de conjuntos de datos

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

Si la matriz JSON está en la raíz del documento, deje el cuadro Raíz JSON vacío. Si el archivo JSON es un objeto JSON, especifique la ruta iJSON de la matriz en el cuadro Raíz JSON.

Objeto JSON

Ruta relativa al objeto JSON que se debe extraer

Tras establecer la raíz JSON, si la vista previa muestra columnas irrelevantes, y el objeto JSON se ha extraído como valor de una columna, especifique el nombre de esa columna en el cuadro Objeto JSON.

Extraer nombre de archivo

Nombre

Descripción

Uso

Extraer nombre de archivo

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

De forma predeterminada, esta opción está desactivada. Active esta opción para extraer el nombre de archivo en una columna adicional.

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. Puede dejar el cuadro Raíz JSON vacío.

El conjunto de datos resultante será:

name

origen

destination
Agra Express Agra Cantt New Delhi
Gour Express Balurghat Sealdah

Nota

El orden de las columnas puede variar.

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íneas JSON

Puede utilizar un archivo de líneas JSON como origen. En los archivos de líneas JSON, 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.

Se admiten 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 usa tal cual

  • Objeto JSON: se usa tal cual.

Creación

Para obtener más información sobre cómo añadir un origen de archivo, consulte Recuperar un archivo.

Configuración

Configuración

Nombre

Descripción

Uso

Extraer nombre de archivo

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

De forma predeterminada, esta opción está desactivada. Active esta opción para extraer el nombre de archivo en una columna adicional.

Primer número de línea

Para los archivos que no empiezan en la primera línea, se puede definir qué línea se considera 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. Especifique 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 nombres de campo.

De forma predeterminada, esta opción está activada. Hace de los valores de la primera línea las etiquetas de campo. Desactive esta opción si la primera línea no contiene nombres de campo sino datos: así, las etiquetas de campo estarán vacías de forma predeterminada.

Dic JSON

Puede utilizar un diccionario JSON como origen. La plataforma extrae un documento JSON válido (matriz u objeto) en un conjunto de datos de varios registros.

La plataforma espera un objeto JSON donde cada clave contiene un registro. A continuación, la plataforma crea registros con:

  • una columna para contener la clave,

  • 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 usa tal cual.

    • Si la matriz contiene cadenas, se crea un campo multivalor con todas las cadenas separadas por un punto y coma (;).

Creación

Para obtener más información sobre cómo añadir un origen de archivo, consulte Recuperar un archivo.

Configuración

Configuración

Nombre

Descripción

Uso

Extraer nombre de archivo

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

De forma predeterminada, esta opción está desactivada. Active esta opción para extraer el nombre de archivo en una columna adicional.

Raíz JSON

Ruta ijson de la matriz JSON que contiene los objetos para extraer como registros de conjuntos de datos

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

Si la matriz JSON está en la raíz del documento, deje el cuadro Raíz JSON vacío. Si el archivo JSON es un objeto JSON, especifique la ruta iJSON de la matriz en el cuadro Raíz JSON.

Nombre de campo clave

Etiqueta de la columna "key"

El valor predeterminado es "key". Especifique la nueva etiqueta de la columna "key" en el cuadro Nombre de campo clave. 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 deja el cuadro Raíz JSON vacío, 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