“类型”;任何;解析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的类型转换。这真的很有帮助。