將字串型別的 JSON 物件從字串型別轉換為其在 JavaScript 中的原始型別(數字或布林型別)
假設我們有一個這樣的簡短 JSON 物件 -
const obj = {"name":"sam","age":"24","isMarried":"false"};
這裡,一些數字和布林值被錯誤地強制轉換為字串。
比如 Number 型別的 age 屬性和 boolean 型別的 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 }
廣告