【问题标题】:How to update JSON keys in place?如何就地更新 JSON 密钥?
【发布时间】:2021-07-01 12:42:18
【问题描述】:

我想在 JSON 对象中的所有第一级键周围添加一组转义引号。

const j = '{"a": "b", "c": "d"}';
let obj = JSON.parse(j);

Object.keys(obj).forEach(k => {
  k = `\"${k}\"`;
});

console.log(JSON.stringify(obj, null, 2));

这当然给了

{
  "a": "b",
  "c": "d"
}

因为我需要在实际对象中进行替换。

但是如何更新密钥呢?

【问题讨论】:

标签: javascript node.js ecmascript-6


【解决方案1】:

这应该可行。只需定义一个新键并赋予它与旧键相同的值,然后删除旧键。

const j = '{"a": "b", "c": "d"}';
let obj = JSON.parse(j);

Object.keys(obj).forEach(k => {
 obj[`\"${k}\"`] = obj[k];
 delete obj[k];
});

console.log(JSON.stringify(obj, null, 2));

【讨论】:

  • 假设以下对象,这可能会覆盖现有键:{'a':'b', '"a"':'c'}
猜你喜欢
  • 1970-01-01
  • 2016-10-07
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-12-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多