📅  最后修改于: 2023-12-03 15:41:25.523000             🧑  作者: Mango
在 Node.js 中,我们可以使用 URL
模块来处理和解析 URL。其中,URL.toJSON()
方法是将 URL 对象转换为 JSON 对象,方便我们在代码中处理和存储 URL。
URL.toJSON()
方法没有参数,调用时直接在 URL
对象上调用即可。
该方法返回一个表示 URL 对象的 JSON 对象,其中包含以下属性:
href
:表示完整的 URL。origin
:表示 URL 的协议、主机名和端口号。protocol
:表示 URL 的协议部分,包含冒号和两个斜杠。username
:表示 URL 的用户名部分(如果存在)。password
:表示 URL 的密码部分(如果存在)。host
:表示 URL 的主机名及端口号部分。hostname
:表示 URL 的主机名部分。port
:表示 URL 的端口号部分。pathname
:表示 URL 的路径部分(包含初始的斜杠)。search
:表示 URL 的查询部分(包含初始的问号)。hash
:表示 URL 的哈希部分(包含初始的井号)。以下示例演示如何使用 URL.toJSON()
方法,将 URL 对象转换为 JSON 对象:
const { URL } = require('url');
// 创建一个 URL 对象
const myURL = new URL('https://www.example.com/foo/bar?baz=qux#quux');
// 调用 toJSON() 方法
const jsonURL = myURL.toJSON();
// 输出 JSON 对象
console.log(jsonURL);
输出结果为:
{
"href": "https://www.example.com/foo/bar?baz=qux#quux",
"origin": "https://www.example.com",
"protocol": "https:",
"username": "",
"password": "",
"host": "www.example.com",
"hostname": "www.example.com",
"port": "",
"pathname": "/foo/bar",
"search": "?baz=qux",
"hash": "#quux"
}
URL.toJSON()
方法前,需要先定义一个 URL
对象,并使用 new
操作符创建。JSON.stringify()
方法将其转换为字符串后再使用。Symbol
类型),则该属性会被忽略。URL.toJSON()
方法并不会修改原始 URL 对象,仅返回一个新的 JSON 对象。