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

Swift解析Cataas API标签报错:预期字典却找到字符串如何解决

错误原因

你遇到的类型不匹配报错,是因为自定义的解码模型和接口实际返回的JSON结构不符。Cataas的标签接口返回的根节点就是纯字符串数组,没有外层字典,也不存在名为tag的字段。
你原有代码中尝试解析[CatArray].self(即包含tag属性的结构体数组),但JSON数组的每个元素都是字符串,解码时系统预期找到字典结构却匹配到了字符串,因此抛出错误。

修改后的代码

无需自定义CatArray结构体,直接对字符串数组类型解码即可:

func parse(dataJSON: Data) {
    let decoder = JSONDecoder()
    do {
        let decodedTags = try decoder.decode([String].self, from: dataJSON)
        // decodedTags就是你需要的标签数组
        print(decodedTags.count)
    } catch {
        print(error)
    }
}

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.06 23:27:01