我試圖用Alamofire提取的數據更新UITableView
。在Swift中從json中解析我的數據有什麼問題?
{"hashtags":["test","test2"]}
和我「爲swift`代碼如下所示:
Alamofire.request("\(serverURL)/users/\(username)/hashtags")
.validate()
.responseJSON { response in
switch response.result {
case .success:
DispatchQueue.main.async(execute: {
if let jsonData = response.result.value as? [String: AnyObject] {
for hashtag in jsonData {
print(JSON(hashtag))
print(hashtag)
if let userHashtags = SingleHashtag.fromJSON(JSON(hashtag)){
for hash in userHashtags.hashtagText {
print(hash)
self.items.add(hash)
功能SingleHashtag.fromJSON
是類的一部分:
class SingleHashtag: NSObject {
var hashtagText: [String]
init(hashtagText: [String]) {
self.hashtagText = hashtagText
super.init()
}
class func fromJSON(_ json: JSON) -> SingleHashtag? {
let hashtagText:[String] = json["hashtags"].arrayValue.map { $0.stringValue}
return SingleHashtag(hashtagText: hashtagText)
}
}
我的後端web服務如下返回數據
,我無法使它工作。問題是,這兩條線:
print(JSON(hashtag))
print(hashtag)
打印:
unknown
("hashtags", <__NSArrayI 0x170c22200>(
test,
test2
)
)
因爲我傳遞unknown
那裏,不執行代碼的其餘部分。我在這裏錯過了什麼?
鄧肯,我想你的解決方案,但我得到這個錯誤http://imgur.com/a/X0HVm好像我不能讓兩步驟結合... – user3766930
語法斯威夫特2之間變化和斯威夫特3,我永遠不會記得哪個是正確的。您發佈的屏幕截圖顯示瞭如何修復它。看看你是否可以解決這個問題。 –