如何在nodejs中解码URL?

Nor*_*yan 1 javascript url encoding decode node.js

我正在尝试解码 URL 并URL使用nodejs.

const url = require('url');

const oldUrl = "https://tut.by/ad=%24%7Baccount.domain%7D";
const newUrl = url.parse(oldUrl, true).format();
Run Code Online (Sandbox Code Playgroud)

这是返回值newUrl

{ 
   auth: null
   hash: null
   host: "tut.by"
   hostname: "tut.by"
   href: "https://tut.by/?ad=%24%7Baccount.domain%7D"
   path: "/?ad=%24%7Baccount.domain%7D"
   pathname: "/"
   port: null
   protocol: "https:"
   query: {ad: "${account.domain}"}
   search: "?ad=%24%7Baccount.domain%7D"
   slashes: true 
}
Run Code Online (Sandbox Code Playgroud)

当我最终将其格式化为这样时:

{ 
   auth: null
   hash: null
   host: "tut.by"
   hostname: "tut.by"
   href: "https://tut.by/?ad=%24%7Baccount.domain%7D"
   path: "/?ad=%24%7Baccount.domain%7D"
   pathname: "/"
   port: null
   protocol: "https:"
   query: {ad: "${account.domain}"}
   search: "?ad=%24%7Baccount.domain%7D"
   slashes: true 
}
Run Code Online (Sandbox Code Playgroud)

它返回:

const formattedUrl = newUrl.format();
Run Code Online (Sandbox Code Playgroud)

但预期的结果是:

https://tut.by/?ad=%24%7Baccount.domain%7D
Run Code Online (Sandbox Code Playgroud)

如何处理这种情况以便返回正确解码的 URL?

And*_*aly 5

尝试这个

decodeURIComponent(newUrl);
Run Code Online (Sandbox Code Playgroud)

decodeURIComponent(newUrl);
Run Code Online (Sandbox Code Playgroud)