json - 从数据数组创建单个标签 - Node.js
问题描述
所以我设备的变量结果输出是一个数组,下面有 JSON 响应。我想获取每个键的第一个值并将其制成一个单独的对象,以便我可以将它发送到 mongoose 数据库以保存结果。我该怎么做?键中的值是动态的,可能是 2 或 100,具体取决于它找到的内容。
[
{
"Read_Count": [
31,
5,
23,
1
],
"Antenna": [
1,
1,
1,
1
],
"EPC": [
"300833B2DDD9014000000000",
"E280116060000207B6C9E1E2",
"300833B2DDD9014000000000",
"E2801160600002096622B8C0"
],
"Signal": [
224,
196,
212,
194
]
}
我希望输出如下:
{
"Tags": [
{ "EPC":"300833B2DDD9014000000000", "Read_Count": 31, "Antenna": 1, "Signal": 224 },
{ "EPC":"E280116060000207B6C9E1E2", "Read_Count": 5, "Antenna": 1, "Signal": 196 },
{ "EPC":"E2801160600002096622B8C0", "Read_Count": 23, "Antenna": 1, "Signal": 212 }
]
}
解决方案
因此,对于数组中的每个对象,您需要遍历其键并将结果中该键的值设置为该键值中数组的第一个元素。
var result = {
'Tags': []
}
response.forEach(tag => {
var resultingTag = {}
Object.keys(tag).forEach(key => {
resultingTag[key] = tag[key][0]
})
result.Tags.push(resultingTag);
}
(“响应”是您在第一个代码块中发布的输入数组,如果不清楚的话)
推荐阅读
- properties - Gremlin 更新现有属性
- python-3.x - ValueError: `validation_data` 应该是一个元组 `(val_x, val_y, val_sample_weight)` 或 `(val_x, val_y)`。找到:<__main__.Generator 对象在>
- c - malloc 是否生成字符串常量?
- python - Keras flow_from_dataframe
- javascript - 使 getElementsByClassName 以每个元素为目标
- php - Paypal Rest API 支付未响应 PHP
- keras - keras 多标签图像分类中的混淆矩阵和测试精度
- c# - Automapper、Entity Framework Core 和多个嵌套集合
- excel - 如果 Checkbox 值 if 语句为 TRUE,则将文本值添加到 Userform 文本框
- windows - 即使在远程桌面注销 VPS 后如何运行 .exe 文件 24/7