如何使用 JavaScript 将 JSON 字符串转换为 JSON 对象数组?

什么是 JSON?

JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,易于阅读和编写。它是基于 JavaScript 的一种语法,但是 JSON 可以被用于任意编程语言。

JSON 使用键值对的方式来表示数据,其中键是字符串,值可以是字符串、数值、布尔值、数组、对象等格式。

JSON 字符串格式

JSON 字符串是由一组字符串、数组和对象组成的文本字符串,格式如下:

"{"key1":"value1","key2":"value2"}"

其中,key 代表属性名,被包裹在双引号之间,value 代表属性值,与 key 之间以冒号分隔,每个属性之间以逗号分隔。整个 JSON 字符串以大括号包裹。

将 JSON 字符串转换成 JSON 对象

JavaScript 提供了两个函数,用来将 JSON 字符串转换成 JSON 对象:JSON.parse() 和 eval()。

JSON.parse()

JSON.parse() 函数可以将 JSON 字符串转换成 JSON 对象。它接受一个 JSON 字符串作为参数,并返回一个 JavaScript 对象。

下面是一个例子:

const jsonStr = '{"key1":"value1","key2":"value2"}';

const jsonObj = JSON.parse(jsonStr);

console.log(jsonObj); // {key1: "value1", key2: "value2"}

在这个例子中,我们先定义了一个 JSON 字符串,然后使用 JSON.parse() 函数将其转换成 JavaScript 对象,并将结果打印在控制台上。

eval()

eval() 函数可以将任何 JavaScript 代码作为参数,并将其执行,返回最后一个表达式的值。对于 JSON 字符串,我们可以使用 eval() 函数来将其转换为对象。

下面是一个例子:

const jsonStr = '{"key1":"value1","key2":"value2"}';

const jsonObj = eval("(" + jsonStr + ")");

console.log(jsonObj); // {key1: "value1", key2: "value2"}

在这个例子中,我们使用括号将 JSON 字符串包裹起来,并将其作为 eval() 函数的参数。最后,eval() 函数将 JSON 字符串转换为 JavaScript 对象,并将其打印在控制台上。

将 JSON 对象数组转换成 JSON 字符串

我们可以使用 JSON.stringify() 函数将 JSON 对象转换成 JSON 字符串。它接受一个 JavaScript 对象作为参数,并返回一个 JSON 字符串。

下面是一个例子:

const jsonObjArr = [{name: 'Mike', age: 28}, {name: 'John', age: 35}];

const jsonStr = JSON.stringify(jsonObjArr);

console.log(jsonStr); // '[{"name":"Mike","age":28},{"name":"John","age":35}]'

在这个例子中,我们先定义了一个包含两个 JavaScript 对象的数组,然后使用 JSON.stringify() 函数将其转换成 JSON 字符串,并将其打印在控制台上。

总结

JSON 是一种轻量级的数据交换格式,易于阅读和编写。我们可以使用 JSON.parse() 函数将 JSON 字符串转换成 JavaScript 对象,使用 JSON.stringify() 函数将 JavaScript 对象转换成 JSON 字符串。

在处理 JSON 数据的时候,我们需要注意格式是否正确。另外,使用 eval() 函数转换 JSON 数据时,需要注意安全问题。

免责声明:本文来自互联网,本站所有信息(包括但不限于文字、视频、音频、数据及图表),不保证该信息的准确性、真实性、完整性、有效性、及时性、原创性等,版权归属于原作者,如无意侵犯媒体或个人知识产权,请来电或致函告之,本站将在第一时间处理。猿码集站发布此文目的在于促进信息交流,此文观点与本站立场无关,不承担任何责任。