javascript - 在 JSON 中添加新元素

标签 javascript arrays node.js typescript object

我正在尝试在 JSON 中添加一个新元素,但我没有正确完成此操作。

我已经尝试了很多方法,但不确定发生了什么。

输入 JSON

{
 "UnitID":"1148",
 "UNIT":"202B",
 "Speed":"29.0",
 "SpeedMeasureValue":"MPH",
 "Direction":"212",
 "LatitudeY":"42.0474150666667000",
 "LongitudeX":"-88.2750256000000000",
 "TimeStamp":"2019-04-25 15:19:45.0300000",
 "Status":"Enroute","StatusID":"13",
 "CallID":"841809",
 "ORI":"IL0450600"
}

连接后的预期 JSON 输出

{
"UnitID":"1148",
"UNIT":"202B",
"Speed":"29.0",
"SpeedMeasureValue":"MPH",
"Direction":"212",
"LatitudeY":"42.0474150666667000",
"LongitudeX":"-88.2750256000000000",
"TimeStamp":"2019-04-25 15:19:45.0300000",
"Status":"Enroute","StatusID":"13",
"CallID":"841809","ORI":"IL0450600", 
"association": [
     {
       "event": "123",
       "label": "", 
       "relation": "321"}
       ]
}

代码 - 将 objectToJson 视为输入 JSON 的数组,将 obj 视为前面提到的输入 json

objectToJson.forEach((obj: any) => {
const association: any = `"association": [{"event": 123, "label": "", "relation": "321"}]`;
const concatenatedObject: object = Object.assign(obj, association);
const concatEventsJson: any = JSON.stringify(concatenatedObject);
console.log(concatEventsJson);
}

最佳答案

只需将 association 属性添加到对象中即可 - 不过,您需要将 association 设为变量(而不是字符串):

const association: any = [{"event": 123, "label": "", "relation": "321"}];
const concatenatedObject: object = { ...obj, association };

演示:

const objectToJson = [{"UnitID":"1148","UNIT":"202B","Speed":"29.0","SpeedMeasureValue":"MPH","Direction":"212","LatitudeY":"42.0474150666667000","LongitudeX":"-88.2750256000000000","TimeStamp":"2019-04-25 15:19:45.0300000","Status":"Enroute","StatusID":"13","CallID":"841809","ORI":"IL0450600"}];

objectToJson.forEach((obj) => {
  const association = [{"event": 123, "label": "", "relation": "321"}];
  const concatenatedObject = { ...obj, association };
  console.log(concatenatedObject);
});
.as-console-wrapper { max-height: 100% !important; top: auto; }

关于javascript - 在 JSON 中添加新元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55997281/

相关文章:

node.js - Node - 检查路径中是否存在命令

node.js - 在 nodejs 中处理多个数据库调用的最佳方法是什么

java - 如何将光标(android)放入二维数组?

javascript - jQuery 过度使用 .add()?

python - 在 NumPy 中将字典转换为数组

javascript - var functionName = function() {} vs function functionName() {}

javascript - Node Socket.IO socket.on() 跨多个文件

javascript - 如何从字符串 jquery/javascript 中过滤表情符号?

javascript - amCharts valueAxis 最大值不起作用

javascript - 如何使用javascript绘制图表?