gpt4 book ai didi

ios - 在 Alamofire 中快速发送 GET 请求中的 json 对象

转载 作者:搜寻专家 更新时间:2023-10-31 19:37:43 24 4
gpt4 key购买 nike

我正在尝试执行一个绑定(bind)了 json 对象的 GET 请求,这就是我生成 JSON 对象的方式

   let jsonObject: [String: AnyObject] = [

"ean_code": [
"type": "match",
"value": "16743799"
]
]

然后我执行了请求

像这样

        Alamofire.request(.GET,Constant.WebClient.WS_URL + "/product?filters="+String(jsonObject),parameters:parameters)

但这给了我一个错误,它不能用无效字符绑定(bind) URL

所以我对这个 URL 进行了编码

let request = String(jsonObject).stringByAddingPercentEncodingWithAllowedCharacters(NSCharacterSet.URLPasswordAllowedCharacterSet())!

这将对 URL 进行编码,但我又会出现以下错误

Request failed with error: Error Domain=NSCocoaErrorDomain Code=3840 "Invalid value around character 0." UserInfo={NSDebugDescription=Invalid value around character 0.}

所以我的问题是如何将 json 对象绑定(bind)到 GET URL?

最佳答案

做这样的事情

let parameters: [String: AnyObject] = [

"filters": "merchantName",
"ean_code": [
"type": "match",
"value": "16743799"
]
]

do {
let data = try NSJSONSerialization.dataWithJSONObject(parameters, options: .PrettyPrinted)
let jsonString = NSString(data: data, encoding: NSUTF8StringEncoding)
let urlEncodedJson = jsonString!.stringByAddingPercentEncodingWithAllowedCharacters(.URLHostAllowedCharacterSet())
let urlString = "http://www.filter.com/&params=\(urlEncodedJson!)"
let url = NSURL(string: urlString)
// Trigger alaomofire request with url
}
catch let JSONError as NSError {
print("\(JSONError)")
}

关于ios - 在 Alamofire 中快速发送 GET 请求中的 json 对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39018192/

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