如何在Swift中解析此Json数据并脱机保存

如何在Swift中解析此Json数据并脱机保存,json,swift3,Json,Swift3,我想在ViewController上显示Name,并在下一个DetailView控制器上显示Detail 请帮助我。在viewController1中 使用JSONSerialization将下载的数据转换为字典格式 { "Name": "Abc", "Detail": [ { "Phone": "0123456789", "Tid": 0, "Gid": 4 }

我想在ViewController上显示
Name
,并在下一个DetailView控制器上显示
Detail

请帮助我。

在viewController1中

使用JSONSerialization将下载的数据转换为字典格式

{
     "Name": "Abc",
     "Detail": [
         {
             "Phone": "0123456789",
             "Tid": 0,
             "Gid": 4
         },
         {
             "Phone": "0123456789",
             "Tid": 0,
             "Gid": 4
         },
         {
             "Phone": "0123456789",
             "Tid": 0,
             "Gid": 4
         },
         {
             "Phone": "0123456789",
             "Tid": 0,
             "Gid": 4
         }
     ],
     "Email": "asdd"
 }
重新计算“名称”的值,如

在ViewController1中显示您的姓名值

像这样传递您的细节值

let nameValue = result.value(forKey: "name") as! String // name value
nameLabel.text = nameValue
在DetailViewController中显示详细信息值

let details = result.value(forKey: "Detail") as! [[:]]

let detailVC = DetailViewController()
detailVC.details = details // Pass your detail values from ViewController1 to DetailViewController

不要在Swift中建议
NSDictionary/NSArray
,不要在Swift中建议
mutableContainers
——顺便说一句,将
mutableContainers
分配给一个不可变的字典是毫无意义的,不要在Swift中建议
valueForKey
。这都是很坏的习惯。我想像whatsapp一样在本地保存它。请告诉我是否使用Userdefault、CoreData、plist、temp文件等任何东西来保存数据
let details = result.value(forKey: "Detail") as! [[:]]

let detailVC = DetailViewController()
detailVC.details = details // Pass your detail values from ViewController1 to DetailViewController
print(details)

for detail in details {
  // retrive all values in loop
  let phone = detail.value(forKey: "Phone") as! String
  let tid = detail.value(forKey: "Tid") as! Int
  let gid = detail.value(forKey: "Gid") as! Int

  print("phone: \(phone), tid: \(tid), gid: \(gid)") // print values
}