gpt4 book ai didi

javascript - 使用 lodash 将 JSON 转换为对象数组

转载 作者:行者123 更新时间:2023-11-29 23:03:11 24 4
gpt4 key购买 nike

我在 NoSql 数据库中有一个这种格式的 JSON 对象。我们在从其他数据库迁移一些记录后得到这些数据,这些是多值字段。(基本上我们正在尝试清理数据以进行进一步处理)。

{
"BPContName":"aName;bName;cName",
"BPContEmail":"aEmail;bEmail;cEmail",
"BPContPWID":"aPWID;bPWID;cPWID"
}

我想在同一个 JSON 中添加另一个键“bpTableDataName”,它应该具有这种格式和值,

"bpTableDataName": [
{
"name": "aName",
"email": "aEmail",
"pwdid": "aPWID"
},
{
"name": "bName",
"email": "bEmail",
"pwdid": "bPWID"
},
{
"name": "cName",
"email": "cEmail",
"pwdid": "cPWID"
}
],

有没有办法使用 lodash 来实现这一点?

最佳答案

尝试下面的代码 -

o = {
"BPContName": "aName;bName;cName",
"BPContEmail": "aEmail;bEmail;cEmail",
"BPContPWID": "aPWID;bPWID;cPWID"
}

map = { "BPContName" : "name", "BPContEmail": "email", "BPContPWID": "pwdid" }

const result = _.reduce(o, (arr, v, k) => ( v.split(";").forEach((x,i) => _.set(arr, `${i}.${map[k]}`, x)), arr ), [])

console.log(result)
<script src="https://cdn.jsdelivr.net/npm/lodash@4.17.11/lodash.min.js"></script>

关于javascript - 使用 lodash 将 JSON 转换为对象数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55240434/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com