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

Swift中如何构造Post请求Body所需的指定JSON结构

正确构造目标JSON结构的Swift代码

你当前代码的问题在于层级结构没对应上:目标JSON里,requests数组的每个元素是一个同时包含image和features的字典,而features本身又是一个数组,里面才是带有type的字典。你现在把image和type拆成了requests数组里的两个独立元素,自然和目标结构不符。

下面是清晰的分步构造方式:

// 构造features数组内的单个配置项
let textDetectionFeature = ["type": "TEXT_DETECTION"]
// 包装成features数组
let featuresArray = [textDetectionFeature]
// 构造包含base64内容的image字典
let imageDict = ["content": "/9j/7QBEUGhvdG9zaG9...base64-encoded-image-content...fXNWzvDEeYxxxzj/Coa6Bax//Z"]
// 组装成单个请求项(同时包含image和features)
let singleRequest = ["image": imageDict, "features": featuresArray]
// 最终组装成完整的请求结构
let finalRequestDict: [String: Any] = ["requests": [singleRequest]]

如果喜欢更紧凑的写法,也可以合并为嵌套结构:

let finalRequestDict: [String: Any] = [
    "requests": [
        [
            "image": ["content": "/9j/7QBEUGhvdG9zaG9...base64-encoded-image-content...fXNWzvDEeYxxxzj/Coa6Bax//Z"],
            "features": [["type": "TEXT_DETECTION"]]
        ]
    ]
]

这样生成的JSON结构就完全匹配你想要的目标格式了:

{
"requests": [
{
"image": {
"content": "/9j/7QBEUGhvdG9zaG9...base64-encoded-image-content...fXNWzvDEeYxxxzj/Coa6Bax//Z"
},
"features": [
{
"type": "TEXT_DETECTION"
}
]
}
]
}

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.27 06:33:15