使用节点 js / javascript 将 json 键替换为另一个 json 值

replace json key with another json value using node js / javascript

testDetails.map(function(data){
 
let JsonData={
 title: data["title"],
 url: data["url"],
 firstName: data["username"],

 work:[{workid:data["workid"].slice(","), workname: "tester"}],
 employee: [{employee_id: data["employee_id"].slice(","), employee_desk:"custom"}]
}
})

所以我上面的 json 输出看起来像这样

{
 "title":"01"
 "url":"employe@url.com",
 "firstName":"employee name",
 "work":[{"workid":"9371", "workname": "tester"}],
 "employee":[{"employee_id":"weh34",employee_desk:"custom"}]
}

和另一个 JSON 对象,其中的数据如下所示

let data={
  "031w":"ewid3728e",
  "9371":"emp_01",
   "weh34":"work_place01"
}

我想用数据中存在的值替换 JsonData 的工作 ID 和员工 ID json 所以我的数据看起来像这样

 "work":[{"workid":"9371", "workname": "tester"}],
 "employee":[{"employee_id":"weh34",employee_desk:"custom"}]

需要看起来像这样

 "work":[{"workid":"work_place01", "workname": "tester"}],
 "employee":[{"employee_id":"emp_01",employee_desk:"custom"}]

我正在尝试像这样手动替换代码

 work:[{workid:data.weh34, workname: "tester"}],
 employee: [{employee_id: data.9371, employee_desk:"custom"}]

data["workid"].slice(",")data["employee_id"].slice(",") 总是会发生变化,所以我想同时匹配 json 并获取值并将其放入我的 JsonData

只需将testDetails得到的值作为data对象中的索引即可得到对应的值

您需要使用不同于 data 的变量作为映射函数的参数,以便您可以引用外部变量 data。下面我改成了d

testDetails.map(d => ({
  title: d["title"],
  url: d["url"],
  firstName: d["username"],
  work: [{
    workid: data[d["workid"].slice(",")],
    workname: "tester"
  }],
  employee: [{
    employee_id: data[d["employee_id"].slice(",")],
    employee_desk: "custom"
  }]
}));