“类型”;任何;解析JSON时没有下标成员 func parseResponseData(响应:AnyObject){ 如果让feedData=response[“feed”]作为?[字符串:任意]{ 将entryArray=feedData[“条目”]设为任意 如果let entry=entryArray as?[Any]{ 对于条目中的对象{ 打印(对象) 将appName=object[“category”]设为[String:Any]//错误:类型“Any”没有下标成员。 } } } }

“类型”;任何;解析JSON时没有下标成员 func parseResponseData(响应:AnyObject){ 如果让feedData=response[“feed”]作为?[字符串:任意]{ 将entryArray=feedData[“条目”]设为任意 如果let entry=entryArray as?[Any]{ 对于条目中的对象{ 打印(对象) 将appName=object[“category”]设为[String:Any]//错误:类型“Any”没有下标成员。 } } } },json,swift,subscript,Json,Swift,Subscript,由于此错误,我无法解析响应,任何解决此问题的线索 试试这个,entryArray是一个字符串的数组:Any func parseResponseData(response: AnyObject) { if let feedData = response["feed"] as? [String: Any]{ let entryArray = feedData["entry"] as Any if let entry = entryArray as? [[St

由于此错误,我无法解析响应,任何解决此问题的线索


试试这个,
entryArray
是一个
字符串的数组:Any

func parseResponseData(response: AnyObject) {
    if let feedData = response["feed"] as? [String: Any]{
        let entryArray = feedData["entry"] as Any
        if let entry = entryArray as? [[String: Any]] {
            for object in entry {
                print(object)
                let appName = object["category"] as? [String: Any]
            }
        }
    }
}

您必须告诉编译器所有下标集合类型的实际类型,
Any
是不够的

为JSON字典使用类型别名很有帮助

typealias JSONDictionary = [String:Any]

func parseResponseData(response: Any) {
    if let feedData = response["feed"] as? JSONDictionary,
     let entryArray = feedData["entry"] as? [JSONDictionary] {
        for object in entryArray {
            print(object)
            if let category = object["category"] as? JSONDictionary {
                print(category)
            }
        } 
    }
}

尝试将
对象
强制转换为
[String:Any]
该对象的可能重复项成功!感谢@JuicyFruit的类型转换。这真的很有帮助。