返回首页

URL 转 JSON 在线转换

把 URL 粘进来一键转 JSON:协议、主机、端口、路径分段、query 参数、hash 全部拆成字段,同名参数自动合并为数组,%20 / %2F 自动解码。浏览器本地解析,链接不上传。

把 URL 粘进输入框点「转换为 JSON」,就能把这条链接转成结构化 JSON。输出字段包括 protocol(协议)、username / password(用户信息)、hostname(主机)、port(端口)、origin、pathname 与 pathSegments(路径分段数组)、query(查询参数对象)、hash(锚点);query 里同名参数自动合并成数组,%20、%2F、%E4%B8%AD 这类百分号编码会自动解码成可读值。解析全程在你浏览器本地用内置 URL API 完成,链接不上传服务器。

URL 转 JSON:在线解析 query 参数、URL 参数与接口请求链接

把 URL 的查询字符串解析成结构化 JSON,逐项核对 query 参数、同名参数与百分号编码值,省去手工拆链接和写正则的时间。

它是如何工作的

工具用浏览器内置的 URL API 解析你输入的链接,把协议、用户信息、主机、端口、路径分段、query 参数和 hash 拆成 JSON 字段。query 里同名参数会自动合并成数组,百分号编码的值自动解码。

为什么输出 JSON?

JSON(JavaScript Object Notation)是轻量的数据交换格式,人读得懂、机器好解析。把 URL 拆成 JSON 后可以直接贴进代码、接口文档或测试用例里复用。

URL 转 JSON 怎么用

  1. 1

    粘贴要解析的 URL

    把完整链接贴进左侧输入框。http、https、ftp 以及自定义协议都支持,带 user:pass@、端口和 #锚点的复杂链接也能解析;只写 example.com/path?a=1 这种省略协议的写法会自动按 http 补全。

  2. 2

    点击「转换为 JSON」

    工具调用浏览器内置的 URL API(遵循 WHATWG URL 标准)把链接拆成各个组成部分,并序列化成缩进两格的 JSON 对象。

  3. 3

    逐项核对解析结果

    在右侧面板检查 protocol、hostname、port、pathname / pathSegments、query 和 hash。query 里单值参数是字符串,同名重复的参数是数组,方便区分单值和多值。

  4. 4

    复制或下载 JSON

    点右上角复制按钮把结果存进剪贴板,或点下载按钮保存成 url.json 文件,贴进代码、接口文档或测试用例里复用。

参考资料

  • WHATWG URL Standard

    浏览器 URL API 实际遵循的现行标准,定义解析算法与 URLSearchParams 行为,也是本工具解析结果的依据。

  • RFC 3986 — URI 通用语法

    IETF 权威规范,定义 URI/URL 的语法结构、各组成部分与百分号编码规则。

  • MDN — URLSearchParams(中文)

    在 JavaScript 里读取、遍历和拼接 URL 查询参数的 Web API 中文文档,含 get / getAll / toString 用法。

  • MDN — URL(中文)

    URL 对象各属性(protocol / hostname / port / pathname / search / hash)的中文参考。

  • RFC 8259 — JSON 标准

    IETF 制定的 JSON 数据交换格式规范,对应本工具的输出格式。

相关工具

常见问题

怎么把 URL 参数转成 JSON?
把整条 URL 贴进输入框,点「转换为 JSON」即可。工具会把 ? 后面的查询参数逐个拆成键值对放进 query 字段,同名参数自动合并成数组,同时给出 protocol、hostname、port、pathname、hash 等字段,不用手工拆链接或写正则。
URL 参数的解析规则是什么?
查询字符串从第一个 ? 开始,参数之间用 & 分隔,键与值用第一个 = 分开;# 之后属于 hash,不算查询参数。键名区分大小写,A=1 和 a=2 是两个不同的键。写成 ?a= 或只写 ?b 时,值都解析为空字符串 ""。
同一个参数名重复出现(?tag=a&tag=b)怎么处理?
重复的键会归并成 JSON 数组,输出 "tag": ["a", "b"];只出现一次的键保持为普通字符串。这样能直接看出哪些参数是多值的,不会像某些实现那样后一个值覆盖前一个。
支持 filter[color]=red 这类嵌套参数吗?
按标准行为原样保留,不展开成嵌套对象:filter[color]=red&filter[size]=M 会解析成 "filter[color]": "red" 和 "filter[size]": "M" 两个平级键。方括号嵌套不是 URL 标准语法,只是部分后端框架的约定;需要真正展开成对象,请在代码里用 qs 库的 qs.parse。
参数里的中文和 %20、%2F 会怎么处理?
自动做百分号解码。%20 还原成空格、%2F 还原成斜杠、%E4%B8%AD%E6%96%87 还原成「中文」,JSON 输出里看到的都是可读的真实值,方便直接和后端日志或接口文档对照。
JSON 怎么转回 URL 参数?
本工具目前只做 URL → JSON 单向解析。反向拼接在代码里一行就够:new URLSearchParams({a:1, b:'x y'}).toString() 会输出 a=1&b=x+y,已自动做好编码;再拼到问号后面即可。要对单个值编码可以用 encodeURIComponent,或直接用站内的「URL 编码 / 解码」工具。
JavaScript 里怎么解析 URL 参数?
三行就够:const sp = new URL(location.href).searchParams; 之后 sp.get('id') 取单值、sp.getAll('tag') 取同名多值、Object.fromEntries(sp) 一次性转成对象(注意这种写法同名参数只保留最后一个)。这也是本工具内部采用的做法。
我的 URL 会被上传到服务器吗?
不会。解析全程在你的浏览器里用内置 URL API 完成,链接和参数不会离开你的设备,所以调试带 token、签名或内网地址的链接也是安全的。
URL 和 URI 有什么区别?
URI(统一资源标识符)只负责标识一个资源,URL(统一资源定位符)在标识之外还说明了如何访问它,比如用哪种协议、连哪台主机。所有 URL 都是 URI,但不是所有 URI 都是 URL。