使用键和值将数组转换为JSON

时间:2018-11-25 21:20:04

标签: javascript node.js json

我想知道如何使用键和值将数组转换为实际的JSON对象。我正在创建一个Node.js命令行标志解析器,我想对此进行转换:

[ '--input', 'HI!' ]

对此:

{ "--input": "HI!" }

为例。 JSON.stringify无法解决此问题,因为JSON.stringify可以为我提供此功能:

["--input","HI!"]

这不是我想要的。如果有办法使用JSON.stringify解决此问题,我仍会开放,但据我所知,仅使用JSON.stringify不会解决此问题。

2 个答案:

答案 0 :(得分:3)

似乎一个简单的<Fragment></Fragment>循环在这里可以快速轻松地阅读:

<></>

您也可以使用 ├── build | ├── css | | ├── main.[contenthash:8].css | | └── main.[contenthash:8].css.map | ├── js | | ├── main.[hash].js | | └── main.[hash].js.map | ├── media | | └── [hash].[ext] | └── favicon.ico | └── index.html | ├── public | ├── favicon.ico | └── index.html | ├── src | ├── actions | ├── components | ├── containers | ├── images | ├── reducers | ├── routes | ├── store | ├── styles (global) | ├── tests | ├── types | ├── utils | ├── index.js | ├── serviceWorker.js | └── setupTests.js | ├── .gitignore ├── README.md ├── package.lock.json └── package.json 做或多或少的相同事情:

for

答案 1 :(得分:0)

加上@markmeyer的答案,这里的for循环很容易阅读:

let arr = [ '--input', 'HI!' , 'test'] 
let obj = {}
for (let i = 0; i < arr.length; i+=2) {
  if (arr[i+1] != undefined) {
    obj[arr[i]] = arr[i+1];
  } else {
    obj["<predefinedkey>"] = arr[i];
  }
}
console.log(obj)