我正試圖發送一個看起來像這樣的API請求
[
{
"thing"。""。
},
]
基于這樣一個物件的陣列
struct Something {
var thing: String? = nil?
}
[Something] 。
AF.request(path, method: .put, parameters: params, encoding: JSONEncoding.default, headers: headers)
很明顯,Alamofire無法做到這一點,它希望物件是一個像這樣的字典[String, Any]
。[
"parentThing"/span>: {
"thing": ""。
},
在這里,這不是一個選項。我已經找到了一些可能的解決方案,但在這種情況下沒有一個是有效的。
如果您能提供任何幫助,我們將不勝感激!
對于一個詳盡的串列,我們希望您能在這里找到。
關于我所發現和嘗試的詳盡清單。 https://stackoverflow.com/a/44551842/1386556或https://stackoverflow.com/a/27027253/1386556 - 這些導致每個模型被轉換為一個字串,像這樣。顯然,一個字串的陣列不是我們的目的。它真正需要的是一個JSONObjects的陣列。
["{"/span>thing"/span>。 "", }"]
uj5u.com熱心網友回復:
不要使用request(..., encoding:)版本,使你的引數Encodable并使用request(..., encoder: JSONParameterEncoder())版本,它正確地支持編碼的陣列值。
uj5u.com熱心網友回復:
像這樣發送資料 [[String: AnyObject]]
示例:
func preparaeData() -> [[String: AnyObject ]] {
var data: [[String: AnyObject ]] = [[String: AnyObject]]()
for ( item) in yourArray {
let dataDictionary: [String: AnyObject] 。= ["thing": item.thing as AnyObject]
data.append(dataDictionary)
}
return data
}
轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/307287.html
標籤:
