我想我已阅读所有以前对任何类似问题的回答,但未找到答案。使用Javascript构建动态JSON结构
我想建立一个JSON结构,看起来像这样(但更大:));
[{"APC": {
"Description": "",
"Data": "001,044,1064",
"Units": "",
"AbbrvUnits": ""
}
}, {"DATE": {
"Description": "",
"Data": 1487858497000,
"Units": "Date",
"AbbrvUnits": ""
}}]
但是我能得到的最接近的是这个数据结构;
[{
"DataItem": "APC",
"DataVal": {
"Description": "",
"Data": "001,044,1064",
"Units": "",
"AbbrvUnits": ""
}
}, {
"DataItem": "DATE",
"DataVal": {
"Description": "",
"Data": 1487858497000,
"Units": "Date",
"AbbrvUnits": ""}}]
与此javascript(节点红色):
DataVal = {
'Description' : "",
'Data' : DataValue,
'Units' : UnitsStr,
'AbbrvUnits' : ""
};
outputJSON.push({'DataItem' : label, DataVal});
如果我尝试:
outputJSON.push({label : DataVal});
我只是在所产生的结构,而不是它的价值得到 “标签”。是否有可能获得Javascript来扩展变量“标签”并将其值放入?有一些声明2个数据变量的例子可以做这样的事情,但它们都有效地对声明中的'label'值进行了硬编码。然而,有很多'标签'项目,所以我真的不想硬编码它。它也会使我具有其他类似数据的通用性。
这是一个Javascript的限制还是我错过了什么?
辉煌。有效;我会更详细地阅读为什么。非常感谢。 – Brian
这样做仍然不能完全让我满意,因为我已经结束了太多的对象层。为了访问数据,我需要使用msg/payload [0] .APC(因为我已经完成了payload.msg = outputJSON)。我可以构造它,以便我可以简单地使用payload.msg.APC? – Brian
啊,不要使用推,因为它是不必要的。如果项目'标签'是唯一的,我可以将'obj'赋给msg.payload。得到它了。 – Brian