首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >'Any‘不可转换为’[String:Any]‘

'Any‘不可转换为’[String:Any]‘
EN

Stack Overflow用户
提问于 2017-08-10 15:50:34
回答 1查看 2.9K关注 0票数 1

如何将从Any获得的JSONSerialization类型转换为字典数组?我的代码是:

代码语言:javascript
复制
    let jsonArray: [[AnyHashable: Any]]

    do {

        jsonArray = try JSONSerialization.jsonObject(with: jsonData, options: [.ReadingOptions.allowFragments]) as! [[AnyHashable : Any]]
    }
    catch {
        let description = NSLocalizedString("Could not analyze earthquake data", comment: "Failed to unpack JSON")
        print(description)
        return
    }

但是编译器给了我错误信息:

“Any”不可转换为“[AnyHashable:Any]”

附注:

我需要解析字典数组,因此JSON文件如下所示:

代码语言:javascript
复制
[{
  "username": "admin",
  "password": "123"
}, {
  "username": "bbvb",
  "password": "3333"
}, {
  "username": "asd",
  "password": "222"
}]
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-08-10 16:02:10

你为什么要用AnyHashable ??

试试这个:

代码语言:javascript
复制
    let jsonArray: Any? = nil

    do {



jsonArray = try JSONSerialization.jsonObject(with: jsonData, options: []) as! [Any] 

        if jsonArray != nil {
          if let resp = jsonArray as? [[AnyHashable : Any]]{

         //your result should be here inside resp, which is an array of dictionary of key-val type `AnyHashable : Any`, although you could just use String value for the key, making your format from  [[AnyHashable : Any]] to [[String : Any]]
        }

   }
   catch {
            let description = NSLocalizedString("Could not analyze earthquake data", comment: "Failed to unpack JSON")
            print(description)
            return
   }
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/45618285

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档