[英]get Server status in Json With Alamofire and SwiftyJson
我用 Alamofire 和 SwiftyJson 解析 Json,並在 Table View 上使用它。 我正確解析了 JSON 中的結果部分,但無法將狀態部分提取到 Swifty JSON 中並使用它。 問題是我如何將狀態部分解析為現有方法。
JSON:
{
"result": [
{
"Id": 5,
"Title": "test",
"EnTitle": "Story and Novel"
},
{
"Id": 38,
"Title": "test",
"EnTitle": " Motivational"
}
],
"status": {
"message": "Done",
"success": true,
"systemDateTime": "2019-12-00R14:13:25+03:30",
"httpStatusCode": 200
}
}
視圖控制器:
var arrayId = [String]()
var arrayTitle = [String]()
var arrayEntitle = [String]()
override func viewDidLoad() {
super.viewDidLoad()
newApiMethod()
}
func newApiMethod() {
AF.request(BASE_URL!, method: .get, headers: headers).response { (response) in
switch response.result {
case .success:
let fetchedResult = try? JSON(data: response.data!)
let resultArray = fetchedResult!["result"]
self.arrayId.removeAll()
self.arrayTitle.removeAll()
self.arrayEntitle.removeAll()
for i in resultArray.arrayValue {
print(i)
let Id = i["Id"].stringValue
self.arrayId.append(Id)
let Title = i["Title"].stringValue
self.arrayTitle.append(Title)
let enTitle = i["EnTitle"].stringValue
self.arrayEntitle.append(enTitle)
}
break
case .failure:
print(response.error!)
break
}
}
}
您可以像訪問result
字段一樣訪問status
字段。
使用let status = fetchedResult!["status"]
並訪問像status["success"]
。
這是一個很好的教程, https://www.hackingwithswift.com/example-code/libraries/how-to-parse-json-using-swiftyjson
我是這樣做的:
var getSuccess = String()
var getTime = String()
AF.request(BASE_URL!, method: .get, headers: headers).response { (response) in
switch response.result {
case .success:
let fetchedResult = try? JSON(data: response.data!)
let resultArray = fetchedResult!["result"]
let status = fetchedResult!["status"]
self.arrayId.removeAll()
self.arrayTitle.removeAll()
self.arrayEntitle.removeAll()
self.getSuccess = status["success"].stringValue
self.getTime = status["systemDateTime"].stringValue
print(self.getSuccess)
print(self.getTime)
for i in resultArray.arrayValue {
print(i)
let Id = i["Id"].stringValue
self.arrayId.append(Id)
let Title = i["Title"].stringValue
self.arrayTitle.append(Title)
let enTitle = i["EnTitle"].stringValue
self.arrayEntitle.append(enTitle)
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.