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等值需要被替换或排除掉。