我尝试在我的应用程序中使用 Alamofire 进行 API 调用,但出现一个奇怪的错误:
'反序列化 Tucson.Geocaching.WCF.API.CreateTrackableLogRequestV1 类型的对象时出错。日期时间内容 '/Date(1452942271163+0500)/' 未按照 JSON 的要求以 '/Date(' 开头并以 ')/' 结尾。'
在 API 的网站上说日期格式必须是这样的:
"\/Date(928174800000-0700)\/"
我的代码:
postTBLog("GSYCNP", text: "Test", date: "\\/Date(928174800000-0700)\\/", logType: 48)
func postTBLog (code: String, text: String, date: String, logType: Int) -> Bool {
if let apiKey = apiKey {
let url = "https://api.groundspeak.com/LiveV6/geocaching.svc/CreateTrackableLog"
let parameters:[String : AnyObject] = ["AccessToken":apiKey, "TrackingNumber":code, "UTCDateLogged": date, "Note":text, "LogType":logType]
Alamofire.request(.POST, url, parameters: parameters, encoding: .JSON).responseString { response in
print(response)
}
return true
} else {
return false
}
}
我已经尝试过不同的方法,但没有任何效果。如果你能帮助墨西哥,我会很高兴。
我将
"\\/Date(928174800000-0700)\\/"
转为 "/Date(928174800000)/"
后它就起作用了