我必须调用api才能完成功能。在那里我必须发送一个数组作为一个包含单引号的参数。但我尝试在其中添加一个单引号,但我失败的是惨不忍睹。
我尝试删除在尝试发送单引号时自动创建的反斜杠。
{
"buyerId":"ananth",
"state":"California",
"mobile_no":"5896235966",
"permissionType":"3",
"communityNoArray":"['1441','1643']",
"community_name":"abrakasdabrama"
}
// 试试这个
{“buyerId”:“ananth”,“state”:“California”,“mobile_no”:“5896235966”,“permissionType”:“3”,“communityNoArray”:[“'12'”,“'123'”] ,“community_name”:“abrakasdabrama”}
也许你应该从你的JSON对象创建一个字符串。试试这段代码:
func jsonToString(json: AnyObject) -> String{
do {
let data1 = try JSONSerialization.data(withJSONObject: json, options: JSONSerialization.WritingOptions.prettyPrinted)
let convertedString = String(data: data1, encoding: String.Encoding.utf8)
return convertedString!
} catch let myJSONError {
print(myJSONError)
return ""
}
}
let jsonData = [
"buyerId":"ananth",
"state":"California",
"mobile_no": "5896235966",
"permissionType": "3",
"communityNoArray": "['1441','1643']",
"community_name": "abrakasdabrama",
] as [String : Any]
然后你就可以这样称呼它
let messageString = jsonToString(json: jsonData as AnyObject)
在此之后,您可以像字符串一样发送它。
您可以使用以下方法将您的参数转换为Json字符串
func convertToJsonString(from object: Any) -> String? {
if let objectData = try? JSONSerialization.data(withJSONObject: object, options: JSONSerialization.WritingOptions(rawValue: 0)) {
let objectString = String(data: objectData, encoding: .utf8)
return objectString
}
return nil
}