gpt4 book ai didi

json - 由于类型转换错误,无法对 JSON 数组进行分组

转载 作者:可可西里 更新时间:2023-11-01 01:07:54 25 4
gpt4 key购买 nike

我有一个返回字典数组的 API,我尝试使用 Swift 的 Dictionay(grouping:) 函数通过每个项目中的 date 键对其进行分组.JSON 看起来像这样:

[
{ "date": "2018-12-12", "name": "abc" },
{ "date": "2018-12-12", "name": "def" },
{ "date": "2018-12-13", "name": "def" },
...
]

我有以下生成编译错误的 swift 代码:

let json = response.result.value as! Array<[String:AnyObject]>
let groupedByDate = Dictionary(grouping: json, by: { (item) -> String in
return (item as! [String:AnyObject])["date"]
})

当我编译时出现这个错误:

Cannot subscript a value of type '[String : AnyObject]' with an index of type 'String'

和这个警告:

Cast from '_' to unrelated type '[String : AnyObject]' always fails

我很困惑,因为 item 变量显然是 [String:AnyObject] 类型,我可以通过 在调试器中索引到 json code>po json[0]["date"].

最佳答案

您的代码自相矛盾。当你说

let groupedByDate = Dictionary(grouping: json, by: {
(item) -> String in

你正在制定一个契约(Contract),你将从这个闭包中返回一个字符串。

但是当你说

return (item as! [String:AnyObject])["date"]

您返回的是 AnyObject,而不是 String。

关于json - 由于类型转换错误,无法对 JSON 数组进行分组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53770851/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com