【发布时间】:2016-07-08 20:32:54
【问题描述】:
我正在尝试将变量传递到 JSON 值中,以便使用 Alamofire 在发布请求中发送。第一个示例是 JSON 值的外观,但是当传递变量时,JSON 实际上看起来像第二个示例。有谁知道出了什么问题,或者如何解决这个问题?
正确的 JSON:
{ "gender": "male",
"dob": "08 Jul 2001",
"loyalty_points": "2",
"barber_type": "1",
"account": {
"first_name": "Bob",
"last_name": "Smith",
"email": "bob@live.com",
"password": "1234",
"timestamp": "2016-07-08 20:26:13 +0000"
}
}
不正确的 JSON:
[ "loyalty_points": 0,
"account": {
email = "bob@live.com";
"first_name" = Bob;
"last_name" = Smith;
password = 1234;
timestamp = "2016-07-08 20:26:13 +0000";
},
"gender": Male,
"barber_type": 2,
"dob": 08 Jul 2001
]
Swift 代码:
let account: [String: AnyObject] = [ "first_name": firstName!, "last_name": lastName!, "email": email!, "password": password!, "timestamp": NSDate()]
let parameters: [String: AnyObject] = [ "gender": gender!, "dob": date!, "loyalty_points": "0", "barber_type": barberType!, "account": account]
Alamofire.request(.POST, "api.exampledomain.co.uk/v1/user";, parameters: parameters as? [String : AnyObject], encoding: .JSON)
【问题讨论】:
-
那么应该进行转换的代码呢?
-
您认为第二次转储中有什么不正确的地方以及您是如何创建的?
-
我正在打印参数变量以在发送前检查它是否正确。 @Alnitak
-
@AminNegm-Awad 这显然是不合法的 JSON
-
@AminNegm-Awad 他已经回答了这个问题 - 他只是使用不会产生 JSON 的
print()。然而,Animofire.request()函数完全能够在发送Dictionary时将其转换为合法的 JSON,但 OP 完全没有说明为什么他们认为他们的代码没有按要求运行。
标签: json swift post networking alamofire