将数字或布尔型JSON对象从字符串类型转换为JavaScript中的原始对象

假设我们有一个简短的JSON对象,如下所示:

const obj = {"name":"sam","age":"24","isMarried":"false"};

在这里,一些Number和Boolean值错误地被强制转换为String。

就像age属性是一个数字,而isMarried属性是一个布尔值。我们的工作是编写一个函数,该函数接受一个这样的对象,并使用正确的对象正确更改这些不正确的数据类型。

示例

为此的代码将是-

const obj = {

   "name":"sam",

   "age":"24",

   "isMarried":"false"

};

const convertToOriginal = (obj = {}) => {

   const keys = Object.keys(obj);

   for(let i = 0; i < keys.length; i++){

      const key = keys[i];

      const num = parseInt(obj[key], 10);

      const val = obj[key];

      if(num && String(num) === val){

         obj[key] = num;

      }

      else if(val === 'true' || val === 'false'){

         obj[key] = Boolean(val);

      };

   };

};

convertToOriginal(obj);

console.log(obj);

输出结果

控制台中的输出将是-

{ name: 'sam', age: 24, isMarried: true }

以上是 将数字或布尔型JSON对象从字符串类型转换为JavaScript中的原始对象 的全部内容, 来源链接: utcz.com/z/330855.html

回到顶部