Javascript 设备架构中称为遥测的数组字段的类型是什么?
我按照github指令创建了一个模拟设备模型,遥测中的一个字段是10个整数的数组。“pm”:[19,4,3,0,0,1,3,0,0,0]。该字段的类型是什么?我没有找到任何数组/列表类型 github指令:Javascript 设备架构中称为遥测的数组字段的类型是什么?,javascript,json,azure,azure-iot-hub,Javascript,Json,Azure,Azure Iot Hub,我按照github指令创建了一个模拟设备模型,遥测中的一个字段是10个整数的数组。“pm”:[19,4,3,0,0,1,3,0,0,0]。该字段的类型是什么?我没有找到任何数组/列表类型 github指令: 目前不支持数组类型,但是您至少可以通过两种不同的方式实现 如果数组大小是固定的,例如10,请使用10个字段: "InitialState": { "pm_01": 0, "pm_02": 0, "pm_03": 0, "pm_04": 0, "pm_0
目前不支持
数组类型,但是您至少可以通过两种不同的方式实现
如果数组大小是固定的,例如10,请使用10个字段:
"InitialState": {
"pm_01": 0,
"pm_02": 0,
"pm_03": 0,
"pm_04": 0,
"pm_05": 0,
"pm_06": 0,
"pm_07": 0,
"pm_08": 0,
"pm_09": 0,
"pm_10": 0
}
然后
"MessageTemplate": "{ \"pm\": [${pm_01}, ${pm_02}, ${pm_03}, ${pm_04}, ${pm_05}, ${pm_06}, ${pm_07}, ${pm_08}, ${pm_09}, ${pm_10}] }"
否则,如果阵列大小可以更改,请将值映射到设备模型脚本中的字符串(例如,pm_值
),例如
型号:
"InitialState": {
"pm_values": "0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0"
}
脚本:
function main(context, previousState) {
// ... restore state ...
// ... your logic here ...
var pm_values = [ 19, 4, 3, 0, 0, 1, 3, 0, 0, 0 ];
// ... serialize pm values ...
state["pm_values"] = pm_values.toString();
return state;
}
然后仅使用一个占位符将其插入消息模板中:
"MessageTemplate": "{ \"pm\": [${pm_values}] }"
目前不支持数组
类型,但至少可以通过两种不同的方式实现
如果数组大小是固定的,例如10,请使用10个字段:
"InitialState": {
"pm_01": 0,
"pm_02": 0,
"pm_03": 0,
"pm_04": 0,
"pm_05": 0,
"pm_06": 0,
"pm_07": 0,
"pm_08": 0,
"pm_09": 0,
"pm_10": 0
}
然后
"MessageTemplate": "{ \"pm\": [${pm_01}, ${pm_02}, ${pm_03}, ${pm_04}, ${pm_05}, ${pm_06}, ${pm_07}, ${pm_08}, ${pm_09}, ${pm_10}] }"
否则,如果阵列大小可以更改,请将值映射到设备模型脚本中的字符串(例如,pm_值
),例如
型号:
"InitialState": {
"pm_values": "0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0"
}
脚本:
function main(context, previousState) {
// ... restore state ...
// ... your logic here ...
var pm_values = [ 19, 4, 3, 0, 0, 1, 3, 0, 0, 0 ];
// ... serialize pm values ...
state["pm_values"] = pm_values.toString();
return state;
}
然后仅使用一个占位符将其插入消息模板中:
"MessageTemplate": "{ \"pm\": [${pm_values}] }"