URL 查询参数(? 后面 a=1&b=2 部分)的键值容器,类似 Qt QUrlQuery。常与 网址类、HTTP类 配合:从网址取出查询串 → 改参数 → 拼回 URL 或提交请求。
支持库路径:扩展类库 → 查询串类
快速开始
函数 主窗口.创建完毕 () {
查询串类 q
// 解析(可带或不带前导 ?)
q.解析 ("name=张三&age=18")
输出 (q.取值 ("name")) // 张三(已 URL 解码)
q.置值 ("token", "abc+123")
q.移除 ("age")
// 真 = 输出时做 URL 编码(空格→+,中文→%E4%B8%AD…)
输出 (q.到文本 (真)) // name=%E5%BC%A0%E4%B8%89&token=abc%2B123
整数 i = 0
循环 (i < q.取数量 ()) {
输出 (q.取键 (i))
i = i + 1
}
}
与网址类配合
网址类 u
u.解析 ("https://api.example.com/search?q=hello&page=1")
查询串类 q
q.解析 (u.取查询 ()) // 从网址取出 ? 后部分
q.置值 ("page", "2")
q.置值 ("q", "世界")
u.置查询 (q.到文本 (真)) // 写回网址
输出 (u.到文本 ()) // https://api.example.com/search?q=...&page=2
编码规则
| 操作 | 行为 |
|---|---|
| 解析 | 自动 URL 解码(%XX、+→空格) |
| 到文本(假) | 原样拼接 键=值&键=值(不再编码) |
| 到文本(真) | 对键、值分别 URL 编码 后拼接 |
同名键
置值(键, 值):若键已存在则覆盖该键的值(保留一个)。取值(键):返回最后一次写入的值。移除(键):删除该键所有条目。
方法一览
| 方法 | 返回 | 说明 |
|---|---|---|
解析(文本) |
逻辑 | 解析查询串;空串也成功 |
到文本([编码=假]) |
文本 | 拼成 a=1&b=2 |
取值(键) |
文本 | 不存在返回空文本 |
置值(键, 值) |
逻辑 | 设置/覆盖 |
移除(键) |
逻辑 | 删除键;不存在返回假 |
是否有(键) |
逻辑 | 是否包含键 |
取数量() |
整数 | 键值对个数 |
取键(索引) |
文本 | 从 0 起的第几个键名 |
清空() |
无 | 清空全部 |
取错误() |
文本 | 最近错误(一般为空) |
常见错误
- 忘记编码就提交 HTTP — 含中文或特殊字符时用
到文本(真)。 - 把完整 URL 传给解析 — 只传
?后部分;完整 URL 请先用 网址类 的取查询()。 - 取值当整数用 — 返回的是文本,需要时自行
到整数( q.取值("page") )。