JS 数组转 JSON
简介
JavaScript 数组是一种有序的数据结构,用于存储一系列元素。JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,用于在应用程序之间传递数据。在某些情况下,需要将 JavaScript 数组转换为 JSON 格式以进行数据传输或存储。
多级标题
转换为 JSON 字符串
```javascript const myArray = [1, 2, 3, 4, 5];// 使用 JSON.stringify() 将数组转换为 JSON 字符串 const jsonString = JSON.stringify(myArray);// 输出:"[1,2,3,4,5]" ```
解析 JSON 字符串为数组
```javascript const jsonString = '[1,2,3,4,5]';// 使用 JSON.parse() 将 JSON 字符串解析为数组 const myArray = JSON.parse(jsonString);// 输出:[1, 2, 3, 4, 5] ```
处理嵌套数组和对象
JavaScript 数组可以包含嵌套数组和对象。在将包含嵌套数据的数组转换为 JSON 时,JSON.stringify() 函数会递归地将嵌套数据也转换为 JSON 格式。```javascript const myArray = [1, 2, { name: 'John', age: 30 }, [4, 5]];const jsonString = JSON.stringify(myArray);// 输出:" [ 1, 2, { "name": "John", "age": 30 }, [ 4, 5 ] ] " ```
解决循环引用
如果数组中包含对自身或其他数组的引用,则在转换为 JSON 时会导致循环引用错误。为了解决这个问题,可以使用 `toJSON()` 方法来控制转换行为。```javascript const myArray = [1, 2, 3]; myArray.push(myArray); // 添加到自身引用const jsonString = JSON.stringify(myArray, (key, value) => {if (value === myArray) {return '[Circular Reference]';}return value; });// 输出:" [ 1, 2, 3, "[Circular Reference]" ] " ```
总结
将 JS 数组转换为 JSON 是一个简单的过程,可以使用 JSON.stringify() 和 JSON.parse() 函数实现。通过处理嵌套数据和解决循环引用,可以在各种情况下有效地进行数据转换。