javascript - 将 Javascript 数组转换为 JSON 用户定义的键/值对

标签 javascript arrays json

我需要从文本输入中获取字符串并将其从数组转换为 JSON 对象。

let orderInputArray = ["key1", "value1", "key2", "value2"];
let json = {}
let key,value;

orderInputArray.forEach(function(keyValue) {
  json[key] = keyValue.value;
});

let orderInputJSON = JSON.stringify(orderInputArray);

我需要它看起来像:

[{"key1": "value1"}, {"key2": "value2"}]

我不太确定如何使用 foreach 循环来做到这一点。谁能解释一下吗?

最佳答案

这不是创建对象的理想方式,但您可以跳过键,使用当前索引(i)创建具有键/值的对象,并将其推送到结果(orderInputObjects):

const orderInputArray = ["key1", "value1", "key2", "value2"];
const orderInputObjects = [];

orderInputArray.forEach(function(v, i, a) {
  if(i % 2) orderInputObjects.push({ [a[i - 1]]: v });
});

console.log(orderInputObjects);

关于javascript - 将 Javascript 数组转换为 JSON 用户定义的键/值对,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52706897/

相关文章:

javascript - 如何循环遍历 HTML 中的 JavaScript 对象?

javascript - 在 Visual Studio Code 中使用装饰器时出错

javascript - 仅随机排列关联数组中的选定项目

for 循环/数组插入和构造中的 if 语句出现 JavaScript 错误

python - 按 bin 面积标准化 histogram2d

javascript - 当 Content-Type 未设置为 "application/json"时,jQuery 无法理解 JSON 响应

javascript - "php://input"json ajax 请求返回字符串

javascript - JavaScript/CSS 应该放在 HTML 页面的底部吗?

Javascript 从 getter 调用 setter

json - 使用 Jersey 2.0 (JAX-RS 2.0) 读取 JSON