Arrays Swift JSON“;邮政「;请求数据数组
我无法从数据输出中删除数组,我尝试用从数据中获得的引号数定义一个结构并尝试输入它,但我不能,因为我必须先从JSON响应中删除数组括号。已经在这里停留了一段时间,第一次使用JSON POST类型Arrays Swift JSON“;邮政「;请求数据数组,arrays,json,swift,post,struct,Arrays,Json,Swift,Post,Struct,我无法从数据输出中删除数组,我尝试用从数据中获得的引号数定义一个结构并尝试输入它,但我不能,因为我必须先从JSON响应中删除数组括号。已经在这里停留了一段时间,第一次使用JSON POST类型 if let requestUrl = url { // Prepare URL Request Object var request = URLRequest(url: requestUrl) request.httpMethod
if let requestUrl = url {
// Prepare URL Request Object
var request = URLRequest(url: requestUrl)
request.httpMethod = "POST"
// HTTP Request Parameters which will be sent in HTTP Request Body
let postString = ["freq": freqId]
// Set HTTP Request Body
request.httpBody = try? JSONSerialization.data(withJSONObject: postString, options: [] );
// Perform HTTP Request
let task = URLSession.shared.dataTask(with: request) { (data, response, error) in
// Check for Error
if let error = error {
self.delegate?.didGetError(error: error)
return
}
// Convert HTTP Response Data to a String
if let data = data, let dataString = String(data: data, encoding: .utf8) {
print(dataString)
let quotes = DataModel(quotes: dataString)
self.delegate?.didGetData(data: quotes)
}
}
task.resume()
}
else {
fatalError()
}
答复:
["10 years from now , you'll look back and say I'm glad I started trading","I always define my risk and I don't have to worry about it","For trading success , there's a realization that when you don't care , you do well and when you try too hard , you don't .","Necessity never made a good bargain.","When a falling stock becomes a screaming buy because it cannot conceivably drop further , try to buy it thirty percent lower .","There are infinite number of ways to make money in markets & in life , Find ONE that works for you.","Get comfortable with being uncomfortable !.","The markets are always changing , and they are always the same.","You can't control how you feel . But you can always to choose how you act !","If what you're looking for is an excuse you'll find one !"]
看起来响应是一个数组而不是字符串,因此将处理
数据的方法更改为
guard let data = data else {
//error handling...
return
}
do {
if let array = try JSONSerialization.jsonObject(with: data) as? [String] {
let quotes = DataModel(quotes: array)
self.delegate?.didGetData(data: quotes)
}
} catch {
print(error)
//error handling...
}
这假设可以使用数组初始化DataModel
,如果不能初始化,则需要执行以下操作以首先将数组的元素合并到字符串中
let string = array.joined(separator: " ")
查看屏幕截图,我怀疑这并不是那么容易,但处理数组内容的最佳方法超出了这个问题欢迎使用StackOverflow。请将Post代码创建为文本而不是图像,可以搜索文本并将其复制/粘贴到编辑器/IDE中,以供需要帮助的人使用。您已将响应转换为stringify JSON。我想您应该根据需要将其转换为像字典或数组这样的Swift数据类型。