2016-11-10 73 views
0

This questionJSON结构斯威夫特和Alamofire

继我试图在总结领域带来,但它具有更多的价值。我带来的标题和作者如下:

func parseData(JSONData : Data) { 
    do { 
     var readableJSON = try JSONSerialization.jsonObject(with: JSONData, options: .mutableContainers) as! JSONstandard 
     // print(readableJSON) 

     if let posts = readableJSON["posts"] as? [JSONstandard] { 
      for post in posts { 
       let title = post["title"] as! String 

       let author = post["author"] as! String 

       let summary = post["summary"] as! String 

       print(author) 

       if let imageUrl = post["image"] as? String { 
        let mainImageURL = URL(string: imageUrl) 
        let mainImageData = NSData(contentsOf: mainImageURL!) 
        let mainImage = UIImage(data: mainImageData as! Data) 

        postsinput.append(postinput.init(mainImage: mainImage, name: title, author: author, summary: summary)) 
       } 
      } 
      DispatchQueue.main.async { 
       self.tableView.reloadData() 
      } 
     } 

    } 

    catch { 
     print(error) 
    } 
} 

但是,如果我尝试总结这种方式错误返回。任何帮助,将不胜感激。

JSON结构

{ 
    "posts" : [{ 
     "id": "000000", 
     "url": "/content/interview2", 
     "date": "2016-11-03 09:01:41", 
     "modified": "2016-11-03 09:03:47", 
     "title": "An interview", 
     "image": "https://www.example.com/sites/default/files/oregood.jpeg", 
     "summary": { 
      "value": "<p>Latin text here</p>", 
      "format": "filtered_html" 
     } 
    }] 
} 
+0

什么是错误?怎么了? –

+0

并在哪一行? –

+0

让summary = post [“summary”]为!字符串 - 错误线程1:信号SIGABRT – rob

回答

0

从以前的问题作出的回应,summary键包含Dictionary所以你可以尝试这样的。

guard let dic = post["summary"] as? [String: Any], let summary = dic["value"] as? String else { 
    return 
} 
+0

嗨Nirav,所以我会把它,而不是:'让总结=邮政[“摘要”]为!字符串' – rob

+0

@rob是的 –