JSON ↔ Query String 转换

JSON 对象与 URL Query String 互转

JSON → Query String
Query String → JSON

JSON转查询参数 - 在线将JSON数据转换为URL查询字符串

什么是JSON转查询参数工具?

JSON转查询参数是一款在线转换工具,能够将结构化的JSON数据转换为URL查询字符串(Query String)格式,同时也支持反向转换。适用于分享带筛选条件的链接、API调试、表单数据序列化等场景,支持中文编码和嵌套对象处理。

你是否遇到过分享筛选结果页给朋友,对方打开后筛选条件全没了?或者需要把API的JSON参数转为URL查询字符串?这个工具就像一个"翻译官",帮你在结构化数据和URL格式之间自由转换。

查询字符串的核心概念

URL查询字符串是URL中"?"后面的部分,用于向服务器传递参数:

  • 基本格式:key1=value1&key2=value2,多个参数用&连接
  • 编码规则:中文和特殊字符需要URL编码,如空格变为%20或+
  • 数组表示:同一key多次出现或使用方括号,如ids=1&ids=2或ids[]=1
  • 嵌套对象:使用点号或方括号表示层级,如user.name=张三

查询字符串是HTTP协议中最基础的参数传递方式,GET请求、分享链接、API调用等都离不开它。

支持的转换模式

JSON转查询字符串

将JSON对象转为key=value格式,支持URL编码和嵌套展开

查询字符串转JSON

将URL查询参数解析为结构化的JSON对象,自动解码中文

编码选项

可选择是否对中文和特殊字符进行URL编码,确保链接兼容性

使用步骤

  1. 在输入框中粘贴JSON数据查询字符串
  2. 选择转换方向:JSON转查询字符串 或 查询字符串转JSON
  3. 按需开启URL编码选项(中文和特殊字符建议开启)
  4. 点击"转换"按钮,结果实时显示在输出框中
  5. 点击"复制"按钮,将结果粘贴到需要的地方

典型应用场景

  • 分享筛选结果:将筛选条件转为查询字符串,生成可分享的链接
  • API调试:将JSON格式的请求参数转为URL查询参数,方便测试GET接口
  • 表单数据序列化:将表单的JSON数据转为查询字符串提交
  • 链接参数解析:从URL中提取查询参数,转为JSON格式分析
  • 数据迁移:在不同数据格式之间转换,适配不同系统的接口要求

技术实现

JSON转查询字符串的核心是递归遍历JSON对象的所有键值对,将嵌套结构展平为点号分隔的键名。例如 {"user":{"name":"张三"}} 转换为 user.name=张三

反向转换则通过解析查询字符串中的&和=分隔符,将点号键名还原为嵌套的JSON结构。URL编码/解码使用浏览器内置的encodeURIComponent和decodeURIComponent函数,确保中文字符正确处理。

常见问题

嵌套的JSON对象怎么转换?

嵌套对象会使用点号分隔键名来表示层级关系。例如 {"a":{"b":"c"}} 会转换为 a.b=c。也支持方括号表示法,如 a[b]=c。

数组怎么处理?

数组会使用方括号加索引的方式表示。例如 {"ids":[1,2,3]} 会转换为 ids[0]=1&ids[1]=2&ids[2]=3。也可以选择重复键名方式:ids=1&ids=2&ids=3。

中文需要URL编码吗?

建议编码。URL中直接包含中文在某些浏览器和服务器上可能出现乱码。开启URL编码后,中文会被转换为%XX格式,确保在任何环境下都能正确传递。

转换结果有长度限制吗?

工具本身没有长度限制,但URL查询字符串在实际使用中受浏览器和服务器限制。大多数浏览器支持至少2000个字符,服务器端限制各不相同。数据量大时建议使用POST请求。

支持哪些JSON格式?

支持标准JSON对象格式,包括嵌套对象、数组和各种值类型(字符串、数字、布尔值、null)。不支持JSON数组作为顶层结构(必须包裹在对象中)。

数据安全吗?

安全。所有转换在浏览器本地完成,JSON数据和查询字符串都不会上传到服务器。你的数据始终在你的设备上处理。

本文介绍了JSON转查询参数工具的功能、使用方法和应用场景,帮助你在JSON和URL查询字符串之间快速转换。