Con el conector JSON, puedes utilizar los comandos para transformar, obtener y convertir datos de Notación de Objetos JavaScript (JSON) como parte de una cadena. Por ejemplo, con este conector, puedes:
- Convertir una matriz u objeto JSON a CSV
- Convertir datos de CSV a una matriz de JSON
- Parsear texto como JSON con un esquema validado
Nota: Varios comandos de conectores generan un resultado JSON. Para extraer un valor JSON como cadena, lista o JSON para utilizarlo con un comando más adelante en una cadena, utiliza una transformación de variables.
Requisitos previos
Para utilizar el conector JSON, recomendamos un conocimiento básico de la sintaxis JSON.
JSON almacena y transmite datos estructurados -desde un único número hasta múltiples cadenas, matrices y objetos- como texto sin formato. Una cadena JSON contiene:
- Una matriz (o lista) de valores
- Un objeto, que contiene una matriz asociativa de pares nombre/valor
Para soportar estructuras de datos complejas, puedes anidar matrices y objetos dentro de tu JSON.
Matrices
En JSON, las matrices se rodean de corchetes [] y contienen una lista de valores separados por comas:
- Números
- Cadenas de texto, rodeadas de comillas dobles
"" - Booleanos,
verdaderoofalso - Matrices, rodeadas de corchetes
[] - Objetos, rodeados de llaves
{} - Valores
NULO
Por ejemplo, una matriz de características de Wdata sería [ "Tablas", "Consultas", "Cadenas" ].
Objetos
Los Objetos están rodeados de corchetes {} y contienen una lista de pares nombre/valor separados por comas. Cada par contiene un nombre de campo entre comillas dobles "", seguido de dos puntos : y su valor. Los Objetos admiten los mismos tipos y sintaxis de valores que las matrices. Por ejemplo:
{
"product":"Wdata",
"company":"Workiva".
"features":[
"Tables",
"Queries",
"Chains"
]
} Establece el conector JSON
Nota: Para que el conector esté disponible para su uso en las cadenas de tu organización, un administrador de seguridad de la organización primero lo habilita desde Configuración.
- En el Generador de cadenas, haz clic en Conexiones y, a continuación, en Crear en la parte superior derecha.
- Debajo de Conector Conexión, selecciona JSON y el CloudRunner predeterminado.
- En Información básica, introduce un nombre único y una descripción para ayudar a identificar el conector.
- Selecciona los entornos que vas a utilizar con la conexión y haz clic en Guardar.
- Para probar la conexión, crea y ejecuta una cadena con el comando del conector CSV a JSON , y comprueba que devuelve un resultado válido.
Solución de problemas
Si el comando Array to CSV del conector no genera un resultado válido, comprueba estos posibles problemas.
Matriz a CSV funciona, pero su resultado no tiene datos
Si el comando Matriz a CSV indica una conversión correcta pero su salida no tiene datos, asegúrate de que su Archivo de entrada entrada contiene matrices JSON. Por ejemplo, este JSON devolvería no detalles sobre bicicletas y pelotas:
{
"store": {
"bicycle": {
"color": "red",
"price": 19.95
},
"ball": {
"color": "blue",
"price": 21.95
}
}
} En cambio, para devolver detalles sobre bicicletas y pelotas, envuelve los detalles con corchetes [], como si fuera una matriz. Por ejemplo:
{
"store": {
"bicycle": [{
"color": "red",
"price": 19.95
}],
"ball": [{
"color": "blue",
"price": 21.95
}]
}
} No se ha encontrado la ruta del elemento de la matriz raíz.
Si el error de Matriz a CSV devuelve "Error al encontrar el elemento raíz de la matriz, comprueba la ruta: Ruta no encontrada", verifica que la clave a aislar está en un array. Por ejemplo, para capturar usageUnit en este JSON, introduce el JSONPath .pricingInfo[0].pricingExpression.usageUnit como entrada del comando Path to Root:
{
"skus": [{
"skuId": "0033-4F4C-36F1",
"description": "Long Term Storage (us-east4)",
"category": {
"serviceDisplayName": "BigQuery",
"usageType": "OnDemand"
},
"serviceRegions": [
"us-east4"
],
"pricingInfo": [{
"summary": "",
"pricingExpression": {
"usageUnit": "GiBy.mo",
"displayQuantity": 1,
"tieredRates": [{
"startUsageAmount": 0,
"unitPrice": {
"currencyCode": "USD",
"units": "0"
}
}]
},
"currencyConversionRate": 1,
"effectiveTime": "2019-08-18T02:30:55.193Z"
}],
"serviceProviderName": "Google"
}]
}