У меня есть JSON в следующем формате:
postJson ={"firstname":"Vishal","lastname":"raskar","username":"vishal123","password":"123456","confirmpassword":"123456","email":"[email protected]","timezone":"1","accountid":"12345","phoneno":"8655012753"}
(Тип данных postJson - JSON, то есть swiftyJSON)
Теперь я хочу подключиться к серверу через Alamofire, поэтому мне нужно отправить данные JSON в формате словаря в parameters : ___
, например:
Alamofire.request(URL, method: .post, parameters: postJson.dictionaryObject, encoding: JSONEncoding.default,headers: "Content-Type": "application/json").responseJSON { response in switch response.result {
case .success(let data):
case .failure(let error):
}
поэтому в основном я попытался преобразовать свой JSON в словарь с помощью postJson.dictionaryObject
. Но всегда получает null от postJson.dictionaryObject
(даже если данные присутствуют в postJson
).
Я пробовал все комбинации, такие как postJson.dictionaryValue
, postJson.dictionary
, но безуспешно.
Затем я попытался преобразовать postJson
в Data
, а затем словарь:
if let data = postJson.data(using: .utf8) {
do {
return try JSONSerialization.jsonObject(with: data, options: []) as? [String: AnyObject]
}
catch {
print(error.localizedDescription)
}
}
а затем отправьте сообщение через Alamofire, теперь получаю ответ. Что я делаю неправильно? Я хочу использовать свой первый вариант.
["firstname":"Vishal","lastname":"raskar","username":"vishal123","password":"123456","confirmpassword":"123456","email":"[email protected]","timezone":"1","accountid":"12345","phoneno":"8655012753"]
в качестве параметров запроса, не нужно преобразовывать его в объект swiftyjson. - person Nishant Bhindi   schedule 17.04.2017