ES6數組可以使用JSON.stringify()方法將其轉化為JSON格式,如下:
const arr = [1, 2, 3]; const jsonArr = JSON.stringify(arr); console.log(jsonArr); // 輸出字符串 '[1,2,3]'
如果是一個對象數組或多維數組,則需要逐層遍歷并轉換為對應的JSON格式。例如:
const objArr = [ {name: 'Tom', age: 20}, {name: 'Jerry', age: 22}, {name: 'Kate', age: 21} ]; const jsonObjArr = JSON.stringify(objArr); console.log(jsonObjArr); // 輸出字符串 '[{"name":"Tom","age":20},{"name":"Jerry","age":22},{"name":"Kate","age":21}]'
可以看到,對象數組被轉換為了包含多個JSON對象的數組,每個JSON對象包含對應的屬性和值。
如果需要將JSON格式的字符串轉換為對應的數組或對象,則可以使用JSON.parse()方法進行反轉換。例如:
const str = '[1,2,3]'; const newArr = JSON.parse(str); console.log(newArr); // 輸出數組 [1, 2, 3] const jsonObjStr = '[{"name":"Tom","age":20},{"name":"Jerry","age":22},{"name":"Kate","age":21}]'; const newObjArr = JSON.parse(jsonObjStr); console.log(newObjArr); // 輸出對象數組 [{name: 'Tom', age: 20}, {name: 'Jerry', age: 22}, {name: 'Kate', age: 21}]
在將數組轉換為JSON格式或將JSON格式轉換為數組時,需要注意特殊情況,例如NaN、Infinity、undefined等值需要被替換或排除掉。