簡體   English   中英

迅速:無法下標[字典式]的值 <String, AnyObject> ],其索引類型為字符串

[英]swift: cannot subscript a value of type [Dictionary<String, AnyObject>] with an index of type string

我正在嘗試在Swift 3中進行JSON解析。我遇到了上述錯誤。 我的解析技術如下:

if let responseData = data {
   do {
     let json = try JSONSerialization.jsonObject(with: responseData, options: JSONSerialization.ReadingOptions.allowFragments)
     if let dict = json as? [Dictionary<String, AnyObject>] {
        if let localityName = dict["name"] as? String ,let localityId = dict["_id"] as? String {

         }               
     }           
   } catch {
       print("could not serialize")            
   }
}

我在一行中得到錯誤:

if let localityName = dict["name"] as? String ,let localityId = dict["_id"] as? String

請讓我知道如何解決此問題

dict屬性是字典數組,而不是字典。 您可以訪問第一個元素,命名如下:

dict.first?["name"]

dict實際上是arr 創建一個循環來遍歷它

if let arr = json as? [Dictionary<String, AnyObject>] {
   for item in arr {
      if let localityName = item["name"] as? String,
         let localityId = item["_id"] as? String {
         print(localityName, localityId)
      }
   }
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM