arrays - Swift Alamofire 将值赋给字符串

标签 arrays swift string request alamofire

我无法解决在Alamofire中给参数请求赋值的问题

我需要像这样输入数据:

[["code": 40, "counts": 10], ["code": 43, "counts": 5], ..]

我正在尝试:

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

效果很好

但是我需要从 UserDefaults 中放入这个数组,我正在尝试这样做:

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

Alamofire 中:

let jsonObject = ordString
let json = JSON(jsonObject)
let jsonString = json.rawString(.utf8)!

当发出请求时给我错误 JSON INPUT ERROR

最佳答案

您正在创建字符串而不是键值对数组:

    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]

我还更新了你关于你做错的最后一个问题,并在我的回答中给了你一个例子(演示)。请看:Swift UserDefaults get values from array

关于arrays - Swift Alamofire 将值赋给字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50203120/

相关文章:

arrays - 如何在 mongodb 中更新多个数组元素

php - 使用撇号作为 PHP 关联数组元素的名称

Java:XML dom 解析仅检索数组的 1 个元素

ios - Swift 在点击按钮时完全重启动画

ios - dispatch_async 是否可以中断调用任务

ios - Swift/如何避免 UITableView rowHeight 发生不必要的变化

C函数返回连接的字符串

Java替换特定字符

c - 保存字符串直到找到最后一个分隔符 - C

java.lang.ArrayIndexOutOfBoundsException : 0 In the most simple program