📜  js 数组到 json - Javascript (1)

📅  最后修改于: 2023-12-03 15:32:23.393000             🧑  作者: Mango

js 数组到 json - Javascript

简介

在Javascript中,我们可以使用数组来存储一系列相关的值。当我们想要将这些值传递给服务器或者其它应用程序时,我们通常需要将数组转换为JSON格式。

JSON (JavaScript Object Notation) 是一种轻量级的数据交换格式,易于阅读和编写,也容易解析和生成。它基于JavaScript语言的一个子集,因此容易被解析和生成。JSON格式可以跨平台、跨语言使用,因此广泛应用于各种网络传输中。

数组转JSON

Javascript提供了 JSON.stringify() 方法来将Javascript数组转换为JSON格式。该方法将Javascript对象序列化为JSON格式的字符串。

下面是一个示例代码:

let array = [1, 2, 3, 4, 5];
let json = JSON.stringify(array);
console.log(json);

输出结果为:

[1,2,3,4,5]

在上述示例代码中,我们定义了一个包含5个整数的数组,并调用 JSON.stringify() 方法将该数组转换为JSON格式的字符串,然后通过 console.log() 方法输出了该字符串。

JSON转数组

我们也可以使用 Javascript的 JSON.parse() 方法将JSON格式的字符串转换为Javascript对象或数组。

下面是一个示例代码:

let json = '[1,2,3,4,5]';
let array = JSON.parse(json);
console.log(array);

输出结果为:

[1, 2, 3, 4, 5]

在上述示例代码中,我们定义了一个包含5个整数的JSON字符串,并调用 JSON.parse() 方法将该JSON字符串转换为Javascript数组,然后通过 console.log() 方法输出该数组。

需要注意这里的JSON字符串是使用双引号表示的。单引号表示的字符串在JSON中是无效的。

数组中的对象转JSON

数组中的对象也可以被转换为JSON格式。

下面是一个示例代码:

let array = [
    {name:'张三', age:25},
    {name:'李四', age:30},
    {name:'王五', age:35}
];
let json = JSON.stringify(array);
console.log(json);

输出结果为:

[{"name":"张三","age":25},{"name":"李四","age":30},{"name":"王五","age":35}]

在上述示例代码中,我们定义了一个包含3个对象的数组,并调用 JSON.stringify() 方法将该数组转换为JSON格式的字符串。最终输出的字符串为包含3个元素的JSON数组,每个元素为一个对象。

JSON中的对象转数组

我们也可以使用 Javascript的 JSON.parse() 方法将JSON格式的字符串转换为Javascript对象或数组。在这种情况下,我们需要将JSON字符串中表示数组的方括号([])替换为大括号({})。

下面是一个示例代码:

let json = '{"0":{"name":"张三","age":25},"1":{"name":"李四","age":30},"2":{"name":"王五","age":35}}';
let obj = JSON.parse(json);
let array = Object.values(obj);
console.log(array);

输出结果为:

[
  { name: '张三', age: 25 },
  { name: '李四', age: 30 },
  { name: '王五', age: 35 }
]

在上述示例代码中,我们定义了一个包含3个对象的JSON字符串,并调用 JSON.parse() 方法将该JSON字符串转换为Javascript对象。由于该对象的属性名为数字序号,我们需要通过 Object.values() 方法来获取该对象的所有属性值,从而得到对应的数组。

总结

在Javascript中,我们可以使用 JSON.stringify() 方法将一个Javascript对象或数组转换为JSON格式的字符串,使用 JSON.parse() 方法将一个JSON格式的字符串转换为Javascript对象或数组。

如果数组中包含对象,则可以通过类似的方式将其转换为JSON格式,并通过类似的方式将JSON中的对象转换为Javascript数组。