簡體   English   中英

如何操作Swift中的嵌套字典,例如JSON數據?

[英]How do I manipulate nested dictionaries in Swift, e.g. JSON data?

我正在使用NSJSONSerialization來解析Swift應用程序中的JSON。 但是,返回的字典包含一個復雜的,深度嵌套的結構,因此使用非常長的類型聲明(例如Dictionary<String, Array<Dictionary<String, ....>> )是不切實際的。

有沒有一種在Swift中使用這種結構的好方法,其中集合的結構非常復雜,其類型直到運行時才知道?

只需將您的json數據引用作為NSDictionary:

var dict: NSDictionary = NSJSONSerialization.JSONObjectWithData(data, options: NSJSONReadingOptions.MutableContainers, error: nil) as NSDictionary

然后你可以使用下標來引用它:

var myValue: NSString = dict["level1"]["level2"]

myDictionary["accounts"]可能是可選的。 試試: myDictionary["accounts"]?["active"]?

在Obj-C我們可以寫,

cityName = myDictionary[@"photos"][@"region"][@"city"]

正如這里的幾個人所發現的那樣,以上內容並不適用於Swift,至少它對我來說沒有。

以下是在Swift中執行此操作以訪問NSDictionary中的三個索引的字符串,

let cityName = ((myDictionary!["photos"] as NSDictionary)["region"]! as NSDictionary)["city"]! as String`

我希望在Swift的下一次更新中,所有這些都可以簡化為我們在Obj-C中的所有內容。

暫無
暫無

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

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