[英]How do I parse Json with an invalid character for a field name? e.g. { “file/folder”: “/Shared/Salesforce/asdf.txt” } with Newtonsoft?
[英]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.