JSON是一種常用的數(shù)據(jù)交換格式,它使用文本來描述數(shù)據(jù)對象的屬性和值。在JSON中,數(shù)字類型可以用number表示。但是,在某些情況下,我們希望把number類型轉(zhuǎn)換成string類型。比如,在前后端數(shù)據(jù)交互時,前端需要把數(shù)字類型轉(zhuǎn)換成字符串類型才能正確傳輸。
使用JavaScript中的JSON對象,我們可以很容易地把number類型轉(zhuǎn)換成string類型。具體代碼如下:
let num = 123; let str = JSON.stringify(num); console.log(str); // "123"
在上面的代碼中,我們首先定義了一個number類型的變量num,值為123。然后,我們通過JSON.stringify()方法把num轉(zhuǎn)換成string類型,并將結(jié)果賦值給str變量。最后,我們使用console.log()方法輸出了str的值,結(jié)果為"123"。
需要注意的是,當(dāng)我們把一個JavaScript對象轉(zhuǎn)換成JSON字符串時,如果對象中包含number類型的屬性,這些屬性默認(rèn)會被轉(zhuǎn)換成number類型。如果我們希望把它們轉(zhuǎn)換成string類型,可以通過傳入一個轉(zhuǎn)換函數(shù)來實(shí)現(xiàn)。具體代碼如下:
let obj = { age: 18, name: "張三" }; let str = JSON.stringify(obj, (key, value) => { if (typeof value === "number") { return value.toString(); } else { return value; } }); console.log(str); // {"age":"18","name":"張三"}
在上面的代碼中,我們首先定義了一個JavaScript對象obj,包含兩個屬性:age和name。其中,age屬性為number類型,值為18;name屬性為string類型,值為"張三"。然后,我們通過JSON.stringify()方法把obj轉(zhuǎn)換成JSON字符串,并通過第二個參數(shù)傳入了一個轉(zhuǎn)換函數(shù)。這個函數(shù)判斷如果屬性值為number類型,則將其轉(zhuǎn)換成string類型,否則返回原值。最后,我們輸出了轉(zhuǎn)換后的JSON字符串,結(jié)果為{"age":"18","name":"張三"}。