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¶
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. |
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¶
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¶
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 matrizitem
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 |