如何将嵌入的 json 分配给 Swift 中的变量?
Posted
技术标签:
【中文标题】如何将嵌入的 json 分配给 Swift 中的变量?【英文标题】:how can I assign an embedded json to a variable in Swift? 【发布时间】:2017-04-25 20:34:31 【问题描述】:我的后端代码返回以下json
:
...
"_id": "some_id",
"opening_hours":
"mon": "9-5",
"tue": "9-5",
"wed": "9-5",
"thu": "9-5",
"fri": "9-5",
"sat": "10-3",
"sun": "closed"
...
我想将opening_hours
分配给我的Swift
应用程序中的一个变量,以便我可以轻松地从那里访问不同的日期。我正在使用SwiftyJSON
。
我尝试使用以下代码:
var openingHours:[String:String] = [:]
if(json["opening_hours"] != nil)
openingHours = json["opening_hours"].dictionary
但我有一个错误:
Cannot assign value of type '[String : JSON]?' to type '[String : String]'
那我怎样才能使它易于访问呢?
【问题讨论】:
将 openingHours 声明改为[String : JSON]
试试let openingHours = json["opening_hours"].dictionary ?? [:]
【参考方案1】:
您正在寻找的是 dictionaryObject
属性,它将返回 [String:Any]?
对象,因此将其类型转换为 [String:String]
将适合您。
var openingHours:[String:String] = [:]
if(json["opening_hours"] != nil)
openingHours = json["opening_hours"].dictionaryObject as? [String:String] ?? [:]
【讨论】:
【参考方案2】:来自控制台中显示的错误。我们可以理解这是Dictionary
类型为[String : String]
的问题。
为了解决问题。尝试创建[String: JSON]?
类型的Dictionary
【讨论】:
以上是关于如何将嵌入的 json 分配给 Swift 中的变量?的主要内容,如果未能解决你的问题,请参考以下文章
如何将图片分配给 UIImageView (Swift 3)
将原语分配给 NSManagedObject 实例(Swift)
如何将过程中的变量值传递给 Apex 中的 Javascript 函数