类型 (string , anyobject) 没有下标成员
Posted
技术标签:
【中文标题】类型 (string , anyobject) 没有下标成员【英文标题】:type (string , anyobject) has no subscript member 【发布时间】:2016-02-13 07:15:00 【问题描述】:我使用 dataTaskWithRequest 并获取包含两个对象的数组的 json(这些对象是键、值),我想检查两个对象中键的一个值。
这是我的代码:
let task = session.dataTaskWithRequest(request, completionHandler: data, response, error -> Void in
print("Response: \(response)")
var jsonArray: [String:AnyObject]!
do
jsonArray = try NSJSONSerialization.JSONObjectWithData(data!, options: NSJSONReadingOptions()) as? [String:AnyObject]
catch
print(error)
for json in jsonArray
print("object json reciver :",json)
//type (string , anyobject) has no subscript member
print("state :",json["state"])
)
【问题讨论】:
你所说的jsonArray不是数组,是字典。 【参考方案1】:json
是一个类型为(String, AnyObject)
的变量。您不能为元组下标。
替换以下内容:
print("state :",json["state"])
与:
print("\(json.0) : \(json.1)")
【讨论】:
【参考方案2】:您需要将 jsonArray 转换为 NSArray。
【讨论】:
以上是关于类型 (string , anyobject) 没有下标成员的主要内容,如果未能解决你的问题,请参考以下文章
类型'[String,AnyObject?]'不符合协议AnyObject?:为什么?
类型 [String: String] 不符合协议 'AnyObject'
无法将 '[String : AnyObject]?.Type' 类型(又名 'Optional<Dictionary<String, AnyObject>>.Type)的值转
类型'(String,AnyObject)'在swift中没有下标成员
无法转换类型“[String : AnyObject]?”的值到预期的参数类型“[NSAttributedStringKey:Any]?”