[英]Swift Alamofire put value to string
I can't solve the problem in putting value to parameters request in Alamofire
我无法解决在Alamofire
为参数请求Alamofire
Im need to put data like : 我需要把像这样的数据:
[["code": 40, "counts": 10], ["code": 43, "counts": 5], ..]
Im trying : 我正在努力 :
let jsonObject = [["code": 40, "counts": 10], ["code": 43, "counts": 5]]
let json = JSON(jsonObject)
let jsonString = json.rawString(.utf8)!
let params = [.."others parameters":.., "order" : jsonString] as [String : Any]
Alamofire.request("http://...", method: .get, parameters: params).responseJSON { response in
And It's works great 而且效果很好
But this array Im need to put from UserDefaults
and Im trying to do it like so: 但是我需要从UserDefaults
放入此数组,而Im试图这样做:
var ordString = ""
override func viewDidLoad() {
super.viewDidLoad()
if let userArray = UserDefaults.standard.array(forKey: "products") as? [[String : String]] {
var text = "["
for user in userArray {
let quantNumber = user["quantityProd"] ?? ""
let codeNumber = user["codeProd"] ?? ""
text.append("""
["code": \(codeNumber), "counts": \(quantNumber)],
""")
}
text.removeLast(1)
text.append("]")
print(text) . // Give me [["code": 40, "counts": 10], ["code": 43, "counts": 5]]
ordString = text
And in Alamofire
: 在Alamofire
:
let jsonObject = ordString
let json = JSON(jsonObject)
let jsonString = json.rawString(.utf8)!
And when make request give me error JSON INPUT ERROR
当make请求给我错误时JSON INPUT ERROR
You are creating string instead of Array
of key-value pair
: 您正在创建字符串而不是key-value pair
Array
:
var arrayOfData = Array<Any>()
if let userArray = UserDefaults.standard.array(forKey: "products") as? [[String : String]] {
for user in userArray {
let dict = ["code": user["quantityProd"] ?? "","counts": user["codeProd"] ?? ""]
arrayOfData.append(dict)
}
}
let json = JSON(arrayOfData)
let jsonString = json.rawString(.utf8)!
let params = [.."others parameters":.., "order" : jsonString] as [String : Any]
I have also updated you on your last question that you are doing wrong and also give you a example(demo) in my answer. 我还向您更新了您最近做错的问题,并在回答中举了一个例子(演示)。 Please have a look: Swift UserDefaults get values from array 请看一下: Swift UserDefaults从数组获取值
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.