javascript - 如何有效地对所有 Javascript bool 值进行字符串化?

标签 javascript javascript-objects

我正在尝试将 javascript 对象发送到仅接受 python bool 值(真/假)并拒绝 javascript bool 值(真/假)的 POST API。我想将 JS 对象中存在的所有 bool 值转换为字符串(“true”/“false”)。
有没有一种有效的方法来做到这一点?
输入 -

const a = {
  b: {
    c: 1,
    d: true
  },
  e: true
}
输出 -
const a = {
  b: {
    c: 1,
    d: "true"
  },
  e: "true"
}

最佳答案

您可以将替换函数作为第二个参数添加到 stringify方法来改变值的转换方式。

const a = {
  b: {
    c: 1,
    d: true
  },
  e: true
};

function replacer(key, value) {
  if (typeof value === 'boolean') {
    return value ? 'True' : 'False';
  }
  return value;
}

console.log(JSON.stringify(a, replacer));

关于javascript - 如何有效地对所有 Javascript bool 值进行字符串化?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63296899/

相关文章:

javascript - 顶级属性不会更新。函数仅在我设置 if function value = to initial top value in javascript 时有效

javascript - JavaScript 中将对象从对象数组插入数组

javascript - 使用 foreach 或带有 javascript 的 map 将复杂对象添加到数组中

javascript - 从 JavaScript 中的参数中删除参数

javascript - 使用 `this.$watch` 而不是 `$scope.$watch` 和 'Controller As'

javascript - 操作如何连接到 Redux/Este 中的 reducer

javascript - Fancybox - 当到达最后一张图片时滑动到另外五张

javascript - 寻求有关异步javascript的澄清

javascript - 合并对象并返回压缩范围对象

javascript - 创建嵌套的 Javascript 对象