Convert dictionary to query string in swift?

前端 未结 11 844
走了就别回头了
走了就别回头了 2021-01-04 04:37

I have a dictionary as [String:Any].Now i want to convert this dictionary keys & value as key=value&key=value.I have created below extensio

11条回答
  •  萌比男神i
    2021-01-04 05:01

    protocol ParametersConvertible {
        func asParameters() -> [String:Any] 
    }
    
    protocol QueryStringConvertible {
        func asQuery() -> String
    }
    
    extension QueryStringConvertible where Self: ParametersConvertible {
        func asQuery() -> String {
            var queries: [URLQueryItem] = []
            for (key, value) in self.asParameters() {
                queries.append(.init(name: key, value: "\(value)"))
            }
    
            guard var components = URLComponents(string: "") else {
                return ""
            }
    
            components.queryItems = queries
            return components.percentEncodedQuery ?? ""
        }
    }
    

提交回复
热议问题