Swift中的遠程JSON解析對我來說是新的,我花了數週的時間來試圖解決這個問題。在Swift中訪問* remote * JSON深層嵌套對象
我從拉JSON是這個傢伙: http://www.odysseynewsmagazine.net/wp-json/wp/v2/posts?_embed
我試圖去說,「SOURCE_URL」爲每個崗位的圖像,但它嵌套在嵌套在「media_details」「內wp:featuredmedia「嵌套在」_embedded「中,我只是不斷收到錯誤。
我寫的代碼看起來是這樣的:
func parseData() {
fetchedSlug = []
//from odyssey site
let url = "http://www.odysseynewsmagazine.net/wp-json/wp/v2/posts?_embed"
var request = URLRequest(url: URL(string: url)!)
request.httpMethod = "GET"
let configuration = URLSessionConfiguration.default
let session = URLSession(configuration: configuration, delegate: nil, delegateQueue: OperationQueue.main)
let task = session.dataTask(with: request) { (data, response, error) in
if error != nil {
print("Error")
}
else {
do {
let fetchedData = try JSONSerialization.jsonObject(with: data!, options: .mutableLeaves) as! NSArray
//Json objects to variables
for eachFetchedSlug in fetchedData {
let eachSlug = eachFetchedSlug as! [String: Any]
let slug = eachSlug["slug"] as! String
let link = eachSlug["link"] as! String
self.fetchedSlug.append(Slug(slug: slug, link: link))
}
self.slugTableView.reloadData()
}
catch {
print("Error2")
}
}
}
task.resume()
}
}//end of VC Class
class Slug {
//define variables
let slug: String?
let link: String?
init(slug: String?, link: String?) {
self.slug = slug
self.link = link
}
//creating dictionaries from Json objects
init(slugDictionary: [String : Any]) {
self.slug = slugDictionary["slug"] as? String
link = slugDictionary["link"] as? String
}
}
我也將需要這是在「渲染」中的「標題」發現每個帖子的標題。
所有這些信息都是在tableView中的可重複使用的自定義單元格中填充標籤。我可以填充slug和鏈接標籤,但不能嵌套任何信息。
怎麼了「嵌入」之前的下劃線?這就是爲什麼我無法得到任何東西?我可以讓它消失嗎?我不允許下載插件或運行自定義腳本,直到向他們展示正在運行的應用程序。
有沒有辦法解決插件?他們非常堅定地希望在他們弄糟wordpress網站之前能夠正常工作。我需要證據證明沒有別的辦法。 –