gpt4 book ai didi

ios - alamofire swift3 的失败响应

转载 作者:行者123 更新时间:2023-11-30 11:31:55 25 4
gpt4 key购买 nike

你好,我被 alamofire 困住了。

    let keys = [CNContactPhoneNumbersKey, CNContactGivenNameKey]
let request = CNContactFetchRequest(keysToFetch: keys as [CNKeyDescriptor])
let contactStore = CNContactStore()
do {
try contactStore.enumerateContacts(with: request) {
(contact, stop) in
// Array containing all unified contacts from everywhere
self.contacts.append(contact)
}
}
catch {
print("unable to fetch contacts")
}
var contactArray = [[String:String]]()

for i in 0..<contacts.count{
var mobiles = ""
for num in contacts[i].phoneNumbers {

mobiles = num.value.stringValue
}



var theDict = ["contact_id": "\(i)", "full_name": contacts[i].givenName, "mobile_number": "\(mobiles)"]
contactArray.append(theDict)

}

dictParams["contacts"] = dictContacts



let theParams = ["contacts":contactArray] as [String:AnyObject]
print("dict theParams: \(theParams)")

这是打印的参数

dict theParams: ["contacts": <Swift._SwiftDeferredNSArray 0x604000233280>(
{
"contact_id" = 0;
"full_name" = Kate;
"mobile_number" = "62123123";
},
{
"contact_id" = 1;
"full_name" = Daniel;
"mobile_number" = "621231123";
},
{
"contact_id" = 2;
"full_name" = John;
"mobile_number" = "625435345";
}
)
]

我使用此代码将其发送到 alamofire

func sendFriendList(dictContacts: [String:AnyObject] ,successBlock:((_ isSuccess: Bool, _ theFriendsResponse: FriendsResponse)->Void)?,errorBlock:((_ errorString:String)->Void)? )-> Void
{

Alamofire.request("url/ListRetrieve",
method: .post,
parameters: dictContacts,
encoding: URLEncoding.default,
headers: headers)
.responseJSON { response in
print("this is response retrieve \(response)")

以及 alamofire 的响应:

this is the response = retrieve FAILURE: responseSerializationFailed(Alamofire.AFError.ResponseSerializationFailureReason.jsonSerializationFailed(Error Domain=NSCocoaErrorDomain Code=3840 "Invalid value around character 1." UserInfo={NSDebugDescription=Invalid value around character 1.}))

但是如果我只更改参数,就像这样[“联系人”:“测试联系人”]

alamofire 的响应取得了成功,并且成功了。

请帮助我:)谢谢

最佳答案

这不是 Alamofire 问题。 API 需要 String 形式的“contacts”参数,并且您要发送 DictionariesArray。如果您要在“contacts”参数中发送 Array 数据,请要求 api 开发人员更改参数类型,或者如果可能,将字符串作为“contacts”参数中的数据发送。

问题:

this is the response = retrieve FAILURE: responseSerializationFailed(Alamofire.AFError.ResponseSerializationFailureReason.jsonSerializationFailed(Error Domain=NSCocoaErrorDomain Code=3840 "Invalid value around character 1." UserInfo={NSDebugDescription=Invalid value around character 1.}))

也仅说明无效字符。

关于ios - alamofire swift3 的失败响应,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50167301/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com