QSP

Query String 解析

Query 参数与 JSON 双向转换

JSON 与数据
🔒 100% 本地运行 — 你的数据不会离开当前页面
由 Evan 维护•最近更新:2026年9月29日•最近复核:2026年9月29日
选项模式
输入

粘贴查询串或 JSON 对象,选择方向后点击“执行转换”。Auto 仅判断方向;数组会编码为一个 JSON 文本值。

转换方向
输出
点击执行转换后,结果会显示在这里
🔒 浏览器内本地处理
页面阅读模式

完整说明还包括常见问题处理、操作示例、代码片段、FAQ 和相关工具,便于核对结果或排查问题。

工具说明

将查询串转换为 JSON,或将 JSON 对象序列化为查询参数,并逐项查看、复制键值行。编辑后点击“执行转换”。Auto 仅在去掉两端空白后的输入以 { 开头、以 } 结尾时选择 JSON 方向;输入有歧义时请手动选择。查询值保持字符串,非字符串 JSON 值会转成 JSON 文本。输入与方向保存在本地,清空可移除草稿。

场景配方

01

给接受 JSON 文本的接口构建参数

目标:把对象形式的筛选条件编码为单个查询参数。

  1. 选择 JSON → Query,输入 {"filter":{"status":"open"},"page":2}。
  2. 点击“执行转换”,得到 filter=%7B%22status%22%3A%22open%22%7D&page=2。
  3. 确认接收端约定在 filter 中读取 JSON;工具不会把对象展开成方括号参数。

结果:嵌套 JSON 值被序列化为各自的字符串字段。再转回 JSON 时仍是字符串,不会恢复原 JSON 类型。

生产可用片段

重复参数经 JSON 数组转换后并不会原样还原

text

Query → JSON:
tag=api&tag=tools&page=2
{"tag":["api","tools"],"page":"2"}

把该对象执行 JSON → Query:
tag=%5B%22api%22%2C%22tools%22%5D&page=2

数组被编码为一个 JSON 文本值,不会生成两个 tag 字段。

推荐工作流

失败门诊(高频踩坑)

整条 URL 被当成参数名的一部分

原因:Query 模式直接读取查询串,只去掉开头的一个 ?,不会从完整 URL 中提取 search 部分。

修复:只粘贴 ? 之后、# 之前的部分;需要查看完整地址时使用 URL 解析器。

常见问题

Query 解析会推断数字、布尔值或嵌套对象吗?

不会。2、true、null 等值仍是字符串,filter[status] 等名称仍是字面键名。同名重复参数会在 JSON 输出中合并为数组。

空格、加号和空字段怎样解码?

按表单规则解码一次:+ 变为空格,%2B 变为加号。flag 和 flag= 的值均为空字符串,允许开头带一个 ?。

无效百分号转义会被拒绝吗?

不一定。URLSearchParams 的解析较宽松,错误转义可能原样保留,或解码为替代字符。此页面没有严格 URI 校验模式。

JSON 顶层接受哪些类型?

必须是 JSON 对象。JSON → Query 模式会拒绝顶层数组、字符串、数字、布尔值和 null。

继续浏览