You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何创建包含方括号([])的URLQueryItem以传递数组类型URL查询参数

解决方案

URLQueryItem 的 value 仅支持传入字符串类型,无法直接接收数组作为参数值,你可以通过手动拼接参数名后缀 [],为数组内的每个元素单独创建 URLQueryItem 实现需求。

实现代码示例

let baseUrl = URL(string: "https://sample.com/detail")!
var urlComponents = URLComponents(url: baseUrl, resolvingAgainstBaseURL: false)

// 你的数组参数
let itemCodeArray = ["smtwGBArkp3ByfrLK3KfxdoX"]

var queryItems = [URLQueryItem]()
for code in itemCodeArray {
    // 手动给参数名添加 [] 后缀
    queryItems.append(URLQueryItem(name: "item_code[]", value: code))
}

urlComponents.queryItems = queryItems

// 验证生成的URL
if let targetUrl = urlComponents.url {
    print(targetUrl) 
    // 输出:https://sample.com/detail?item_code[]=smtwGBArkp3ByfrLK3KfxdoX
}

补充说明

如果服务端要求数组参数以逗号分隔的单值形式传递,直接将参数名设为 item_code[],值设为数组元素拼接后的字符串即可:

let joinedCode = itemCodeArray.joined(separator: ",")
urlComponents.queryItems = [URLQueryItem(name: "item_code[]", value: joinedCode)]

内容的提问来源于stack exchange,提问作者hiroshi046

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.26 06:15:07