首页 > 解决方案 > 如何将字符串数组解析为 Json 对象?

问题描述

我有一个需要转换为 JSON 的字符串数组。

creators=["a","b","c","d"...."x"]

我想转换为以下 JSON 格式。

{
    "creators":[
        {"creator": "a"},
        {"creator": "b"},
        {"creator": "c"},
        ----------------,
        {"creator": "x"}
    ]
}

我如何在 Node 中实现它?

标签: node.js

解决方案


您可以使用Array.prototype.map

const creators=["a","b","c","d", "x"]

const object = {
  creators: creators.map(creator => ({ creator }))
                                    // ^^^ object property shorthand
                                    // { creator: creator }
};

console.log(object); // or JSON.stringify(object) if you need JSON

如果 creators 是一个数组,它工作正常,但有时 creators 只有一个元素,我得到 creators.map is not a Function 错误。

如果creators不总是一个数组,您可以执行以下操作:

creators = Array.isArray(creators) ? creators : [creators];

creators.map(creator => ({ creator }))

相当于:

creators.map(creator => {
   return { creator: creator };
})

推荐阅读