Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.
Puede utilizar cláusulas SELECT anidadas para consultar atributos dentro de matrices y objetos JSON internos. Es compatible con la versión SQL 2016-03-23 y versiones posteriores.
Considere el siguiente mensaje MQTT:
{
"e": [
{ "n": "temperature", "u": "Cel", "t": 1234, "v": 22.5 },
{ "n": "light", "u": "lm", "t": 1235, "v": 135 },
{ "n": "acidity", "u": "pH", "t": 1235, "v": 7 }
]
}
ejemplo
Puede convertir valores en una nueva matriz con la siguiente regla.
SELECT (SELECT VALUE n FROM e) as sensors FROM 'my/topic'
La regla generará la salida siguiente.
{
"sensors": [
"temperature",
"light",
"acidity"
]
}
ejemplo
Usando el mismo mensaje MQTT, también puede consultar un valor específico dentro de un objeto anidado con la siguiente regla.
SELECT (SELECT v FROM e WHERE n = 'temperature') as temperature FROM 'my/topic'
La regla generará la salida siguiente.
{
"temperature": [
{
"v": 22.5
}
]
}
ejemplo
También puede aplanar la salida con una regla más complicada.
SELECT get((SELECT v FROM e WHERE n = 'temperature'), 0).v as temperature FROM 'topic'
La regla generará la salida siguiente.
{
"temperature": 22.5
}