JSON 代表 JavaScript Object Notation。它用于描述 JavaScript 对象。它是一种使用键值对指定数据值的数据共享格式。所有主流浏览器都支持 JSON 对象。本教程要求您熟悉 JavaScript 并能使用 JSON 对象。要熟悉 JSON,您可以查看我们的 JSON 数据共享格式概述。您还可以查看如何 在 JavaScript 中使用 JSON.
JSON 格式也用于在网络中传输数据。为此,需要对数据进行序列化和反序列化。当数据为 JSON 格式时,会使用 stringify 方法将其转换为字符串。要将数据转换回对象格式以便进行操作,可以使用 parse 方法。本教程将 详细介绍使用 JSON.parse() 和 JSON.stringify() 的步骤。让我们开始吧!
JSON.parse()
此方法用于将 JSON 字符串转换为 JSON 对象,以便可以通过编程方式对其进行操作。传递的字符串必须是有效的 JSON 字符串,否则将抛出异常。该字符串可以从任何 Web 服务或远程应用程序接收。
此方法接受两个参数:一个 string 和一个 callback 函数,该函数可用于在将字符串转换为对象之前对其进行操作。假设我们从 Web 服务收到一条消息,指示操作状态、消息和状态代码。下面是一个如何将字符串转换为对象的简单示例。
代码:
|
1 2 3 |
let json_string = '{"message":"Done with success", "status":200, "code":200}' let server_obj = JSON.parse(json_string); console.log(server_obj) |
输出:
|
1 |
{message: 'Done with success', status: 200, code: 200} |
一个常见的问题是在字符串末尾添加了逗号,因此如果传递给 JSON.parse() 的字符串带有尾随逗号,它会抛出错误。如果您需要操作这些值,可以传入 callback函数作为第二个参数。
代码:
|
1 2 3 4 5 6 7 8 9 |
let string = '{"name":"XYZ","email":"xyz@example.com"}'; let obj = JSON.parse(string, (key, value) => { if (typeof value === 'string') { return value.toUpperCase(); } return value; }); console.log(obj) |
输出:
|
1 |
{name: 'XYZ', email: 'XYZ@EXAMPLE.COM'} |
JSON.stringify()
The stringify 方法的作用与 parse 方法完全相反。在这里,传递的是 JSON 对象,返回值是字符串。例如,该字符串可以传递给其他远程 Web 服务,然后再次解析为 JSON 对象进行操作。
代码:
|
1 2 3 |
let obj = {message:"Done with success", status:200, code:200} let str = JSON.stringify(obj); console.log(str); |
输出:
|
1 |
{"message":"Done with success","status":200,"code":200} |
stringify 方法可以接受两个参数: replacer和 spacer 方法。 replacer 方法可用于替换或排除字符串中的任何值。
代码:
|
1 2 3 4 5 6 7 8 9 |
let obj = {message:"Done with success", status:200, code:200} let str = JSON.stringify(obj, (key, value) => { if (status === 200) { return undefined; } return value; }); console.log(str) |
输出:
|
1 |
{"message":"成功完成","status":200,"code":200} |
当 spacer 参数被提供时,数组或对象的每个元素都会被放在单独的一行中,并进行缩进以表示其在对象和数组层次结构中的深度。下面是一个说明这一点的简单代码片段。
代码:
|
1 2 3 |
let obj = {message:"成功完成", status:200, code:200} let str = JSON.stringify(obj, null, "---"); console.log(str) |
输出:
|
1 2 3 4 5 |
{ ---"message": "成功完成", ---"status": 200, ---"code": 200 } |
结论
在本教程中,我们介绍了处理 JSON 格式内容的两个有用方法。JSON 对象无处不在,在使用 JavaScript 构建现代应用程序时,这些方法非常有用。要了解更多信息,请查看以下发表在我们博客上的教程:
祝您编程愉快!
评论
暂无评论。发表第一条评论吧。