Я хочу опубликовать следующее тело через Alamofire
. это точное почтовое тело. Я проверил это с почтальоном
[
{
"keyone":{
"name":"abc",
"value":"1"
},
"keytwo":{
"age":"23",
"id":"9812fvereaere112"
},
"keythree":{
"expired":true,
"freshuser":false
},
"keyfour":{
"license":true
}
}
]
Я создал Struct
для этого.
// MARK: - Keyfour
struct Keyfour: Codable {
let license: Bool
}
// MARK: - Keyone
struct Keyone: Codable {
let name, value: String
}
// MARK: - Keythree
struct Keythree: Codable {
let expired, freshuser: Bool
}
// MARK: - Keytwo
struct Keytwo: Codable {
let age, id: String
}
И затем я создал массив из этих объектов и попытался использовать его в качестве параметра Alamofire.but Alamofire
требует [String: Any]
, но я должен отправить [Dictionary<String, Any>]
. как я могу это сделать.
Я попытался преобразовать мой массив объектов в словарь, но он не работает с методом ниже
private func convertdocprocesstoDictonary(jsonstring: String) -> Dictionary<String, Any>? {
if let data = jsonstring.data(using: .utf8) {
do {
return try JSONSerialization.jsonObject(with: data, options: []) as? Dictionary<String, Any>
} catch let jsonerr {
print("\(jsonerr.localizedDescription)")
}
}
return nil
}
// Tried this with [Dictionary<String, Any>] as well.it fails too
let jdat = try JSONEncoder().encode(Array_of_Objects)
let jstring = String(data: jdat, encoding: .utf8)
let dic = convertdocprocesstoDictonary(jsonstring: jstring)
, а затем прикрепил di c в качестве параметров. ничего не получилось. надеюсь, что ваша помощь с этим. хорошего дня и будь в безопасности.