You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

JSON.stringify的replacer回调函数如何配置同时修改多个键的返回值

解决方案

你可以直接在JSON.stringify的替换回调函数中扩展条件判断,常用的两种实现方式如下:

写法1:分支判断(逻辑直观,适合少量键修改)

json = JSON.stringify(rabbit, (key, value) => {
  console.log(`key: ${key}, value: ${value}`);
  if (key === 'name') {
    return 'Ellie';
  } else if (key === 'color') {
    return 'white'; // 此处替换为你要设置的color新值
  } else {
    return value;
  }
});

如果后续还要新增修改其他键,直接追加else if分支即可。

写法2:映射表匹配(扩展性强,适合多键批量修改)

如果需要修改的键数量较多,推荐提前定义替换映射表,后续调整修改规则只需要维护映射表即可,不需要修改回调逻辑:

// 替换映射表:键为要修改的对象属性名,值为对应的新值
const replaceRules = {
  name: 'Ellie',
  color: 'white',
  size: 'big' // 可以继续新增其他要修改的键值对
};

json = JSON.stringify(rabbit, (key, value) => {
  console.log(`key: ${key}, value: ${value}`);
  return replaceRules.hasOwnProperty(key) ? replaceRules[key] : value;
});

注意:原示例中的rabbit对象包含的函数属性jump会被JSON.stringify默认忽略,日期属性birthDate会被默认转换为ISO格式的字符串,如果你需要特殊处理这两类值,也可以在回调函数中补充对应判断逻辑。

内容的提问来源于stack exchange,提问作者Sung Hoon Kim

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.03 23:42:02