如何在Swift中的URL请求类型GET中追加数组?

时间:2016-10-20 08:37:30

标签: ios iphone swift xcode urlrequest

我正在使用Xcode7.3和Swift2.2。

我想在url请求中附加一个数组。例如我的数组就像 [“jeevan”,”jeejo”]。我想在url请求中使用key(arrayKey)附加此数组,如必须是以下模式

https://api.com/pre/ws/ch/roo?arrayKey=jeevan%2Cjeejo

如何解决这个问题?请帮帮我

3 个答案:

答案 0 :(得分:2)

您需要使用编码您的网址而不是使用分隔符加入Array,但如果您想将数组与URL合并,您可以尝试这样做。

let str = ["jeevan","jeejo"]
let join = str.joinWithSeparator("%2C")
let url = "https://api.com/pre/ws/ch/roo?arrayKey=\(join)"

如果你想用这种方式编码url编码。

let str = ["jeevan","jeejo"]
let join = str.joinWithSeparator(",") 
let url = "https://api.com/pre/ws/ch/roo?arrayKey=\(join)"
let encoded = url.stringByAddingPercentEncodingWithAllowedCharacters(.URLFragmentAllowedCharacterSet())

注意:我使用,的原因是%2C编码为,,您可以在此W3School URL Encoding确认。< / p>

答案 1 :(得分:0)

简易解决方案可以像这样

var URIString = ""

for item in array {
    URIString +=\(item)%2C
}

扣除最后3个字符并制作URL字符串

答案 2 :(得分:0)

像这样的简单代码

var array: [String] = ["jeevan","jeejo"]

var myString = ""

for i in 0..<array.count {
   myString += array[i]
   if (i+1)<array.count { mystring+="%2C" }
}

可以给你这样的结果:

  

杰文%2Cjeejo