如何将二维数组转换为保留结构的JSON格式字符串?
保留二维数组结构的字符串转换方法
问题描述
现有二维数组:
myArr = [[1, 2, 3], [4, 5, 6]]
期望输出为保留数组结构的字符串:
newArr = "[[1, 2, 3], [4, 5, 6]]"
尝试了以下方法:
myArr.toString() String(myArr) myArr = `${myArr}`
但得到的结果均为:
'1,2,3,4,5,6'
请问如何实现预期的转换效果?
解决方案
直接使用JSON.stringify()方法即可实现需求,代码示例:
const myArr = [[1, 2, 3], [4, 5, 6]]; const newArr = JSON.stringify(myArr); console.log(newArr); // 输出:"[[1,2,3],[4,5,6]]"
原方法失效原因
toString()、String()以及模板字符串转换的逻辑是将数组扁平化,把所有嵌套层级的元素直接拼接成逗号分隔的字符串,自然会丢失原有的二维数组结构。而JSON.stringify()会递归处理嵌套的数组,完整保留其层级结构,转换后的字符串和原数组结构完全匹配。
内容的提问来源于stack exchange,提问作者Павел Федоровский
相关产品推荐
相关产品推荐

