Swift   发布时间:2022-04-29  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了使用[String:Any]而不是NSDictionary的Swift3 JSONSerialization大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
假设您有一个json someText字符串,并且您想将其解析为字典.以前我做过这个……

let jsonResult: NSDictionary =
   try JSONserialization.jsonObject(
      with: someText.data(using: .utf8)!,options: JSONserialization.ReadingOptions.mutableContainers)
         as! NSDictionary

但那只是一个糟糕的NSDictionary.

看来你确实可以这样做……

let jsonResult: [String:Any] =
   try JSONserialization.jsonObject(
      with: someText.data(using: .utf8)!,options: JSONserialization.ReadingOptions.mutableContainers)
         as! [String:Any]

所以这是一个真正的Swift词典.

这有用吗?是否存在严重的效率差异,或者其他问题?

对我来说很困惑

open class func jsonObject(with data: Data,options opt: JSONserialization.ReadingOptions = []) throws -> Any

无论如何,电话只会返回Any.所以当你把它投射到[String:Any]或者NSDictionary时,过程是什么,最好的是什么?

解决方法

是的,有.

NSDictionary完全缺乏类型信息,本机Swift集合类型更有效,强烈推荐.你可以使用VAr免费获得可变性.无论如何,mutableContainers在Swift中都是无用的.

jsonObject(数据返回Any,因为返回类型可以是Dictionary,Array甚至是String / number,最小公分母是Any,将其强制转换为期望的类型.

大佬总结

以上是大佬教程为你收集整理的使用[String:Any]而不是NSDictionary的Swift3 JSONSerialization全部内容,希望文章能够帮你解决使用[String:Any]而不是NSDictionary的Swift3 JSONSerialization所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。