如何通过 Node.js 或 NPM 模块组合/序列化此类 JSON 对象?
Posted
技术标签:
【中文标题】如何通过 Node.js 或 NPM 模块组合/序列化此类 JSON 对象?【英文标题】:How can I combine/serialize such JSON objects by means of Node.js or NPM modules? 【发布时间】:2020-01-24 13:54:36 【问题描述】:如果有人建议如何获得这样的 JSON
,我将不胜感激[
"type": "A_TYPE",
"value": "foo"
,
"type": "A_TYPE",
"value": "bar"
,
"type": "B_TYPE",
"value": "qux"
,
"type": "C_TYPE",
"value": [
10000,
19999
],
"name": "1xxxx"
]
来自这样的JSON
[
"type": "A_TYPE",
"value": [
"foo",
"bar"
]
,
"type": "B_TYPE",
"value": [
"qux"
]
,
"type": "C_TYPE",
"value": [
[
10000,
19999
]
]
]
在这种情况下,具有 "type":"A_TYPE" 等属性的对象可以在其中组合 "value":"" 多个.
提前感谢您的帮助!
【问题讨论】:
我为我糟糕的英语道歉。如果您能发现并纠正我的错误,我将不胜感激。"name": "1xxxx"
这是从哪里来的?
这个 JSON 包含一些公司数据,我用自己的值替换了一些值以发布到这里。
【参考方案1】:
我为你的问题做了这个解决方案。
let arr = [
"type": "A_TYPE",
"value": [
"foo",
"bar"
]
,
"type": "B_TYPE",
"value": [
"qux"
]
,
"type": "C_TYPE",
"value": [
[
10000,
19999
]
]
];
let newArr = [];
for (let i = 0; i < arr.length; i++)
for (let j = 0; j < arr[i].value.length; j++)
let value = arr[i].value[j]; // Get value from the object
let type = arr[i].type; // Get type from the object
// New Object to push to the new Array
let tempObj = ;
tempObj.type = type;
tempObj.value = value;
newArr.push(tempObj); // Push object to array
console.log(JSON.stringify(newArr));
Test it here
【讨论】:
感谢您的帮助!可能是因为我错误地描述了这种情况的英语不好,我需要从第二个 JSON 中获取第一个 JSON,即此代码的作用相反。 抱歉,严重的格式错误:(当然你是对的。已经正确。再次抱歉。以上是关于如何通过 Node.js 或 NPM 模块组合/序列化此类 JSON 对象?的主要内容,如果未能解决你的问题,请参考以下文章