Ios 如何从服务器使用阵列并在服务中显示
我使用POST方法从服务器获得此响应Ios 如何从服务器使用阵列并在服务中显示,ios,arrays,swift,request,mode,Ios,Arrays,Swift,Request,Mode,我使用POST方法从服务器获得此响应 { "jsonrpc": "2.0", "id": null, "result": [ "alaa", "belal", "demo" "mohanad" ] } 如何将数据导入服务器并保存到模型中? 这是我使用阿拉莫菲尔的服务器请求 class servicedb: NSObject{ class func dbs (completion: @escaping (_ error:
{
"jsonrpc": "2.0",
"id": null,
"result": [
"alaa",
"belal",
"demo"
"mohanad"
]
}
如何将数据导入服务器并保存到模型中?
这是我使用阿拉莫菲尔的服务器请求
class servicedb: NSObject{
class func dbs (completion: @escaping (_ error: Error?, _ db: ([Database]))->Void){
let url = "http://176.58.117.249/web/database/list"
let header = ["Content-Type" : "application/json"]
Alamofire.request(url, method: .post, parameters: nil, encoding: URLEncoding.default, headers:header)
.responseJSON{ response in
switch response.result
{
case.failure(let error):
print (error)
case .success(let value):
let json = JSON(value)
guard let results = json ["result"].array else
{ return }
var dbs = [Database]()
for data in results {
guard let data = data.dictionary else {
return }
let datab = Database()
datab.result = data["result"]?.string ?? ""
dbs.append(datab)
}
completion(nil,dbs)
}
}
}
}
我的数据模型是保存数据
class Database: NSObject {
var id: Int = 0
var result : String = ""
}
响应不会出现在我的web服务中,也不会在数据模型中存储数据。
提前感谢在web服务中,将
参数
作为nil
传递,然后提供文件管理器并作为字符串传递
“{}”给出成功响应
您的web服务响应位于[String]
中,因此您可以这样使用
class func dbs (completion: @escaping (_ error: Error?, _ db: ([String]))->Void){
let url = "http://176.58.117.249/web/database/list"
let header: [String:String] = ["Content-Type" : "application/json"]
let parameters = [:] as [String : Any]
do {
let postData = try JSONSerialization.data(withJSONObject: parameters, options: [])
let urlStr = URL(string: url)
let urlRequest = URLRequest(url: urlStr!)
var request = try URLEncoding.queryString.encode(urlRequest, with: parameters)
request.httpMethod = "POST"
request.httpBody = postData as Data
for headerValue in header{
request.addValue(headerValue.value, forHTTPHeaderField: headerValue.key)
}
Alamofire.request(request).responseJSON{ response in
switch response.result
{
case.failure(let error):
print (error)
case .success(let value):
let json = JSON(value)
guard let results = json ["result"].array else
{ return }
var dbs = [String]()
for data in results {
dbs.append(data.string ?? "")
}
completion(nil,dbs)
}
}
}
catch let error{
print(error.localizedDescription)
}
}