Swift: 将 JSON 格式的 NSURLRequest 更改为字符串
Swift: Change JSON formatted NSURLRequest to String
我正在做的是在 NSULRRequest 上发送一个 JSON 结构化字符串,去掉 urlscheme 前缀,将其序列化为 JSON 然后我可以用它做任何事情。
urlscheme://{"Type":"photo","Name":"Photo13"}
所以我通过
将 NSURLRequest 更改为字符串
let url = request.URL
let string = "\(url)"
print(string)
但字符串看起来像
urlscheme://%7B%22Type%22:%22photo%22,%22Name%22:%22Photo13%22%7D
所以我必须通过在所有可能的更改上一遍又一遍地调用 stringByReplacingOccurrencesOfString 来更改它。
replacedString = replacedString.stringByReplacingOccurrencesOfString("%7B",
withString: "{",
options: NSStringCompareOptions.LiteralSearch,
range: nil)
.
..
...
在 Swift 中有更好的方法吗?
你得到的是 percent encode string。这样做是因为某些字符在 URL 中具有特殊含义。 NSString 方法 stringByRemovingPercentEncoding
将为您将百分比编码字符串转换回普通字符串。
看到这个answer
我正在做的是在 NSULRRequest 上发送一个 JSON 结构化字符串,去掉 urlscheme 前缀,将其序列化为 JSON 然后我可以用它做任何事情。
urlscheme://{"Type":"photo","Name":"Photo13"}
所以我通过
将 NSURLRequest 更改为字符串 let url = request.URL
let string = "\(url)"
print(string)
但字符串看起来像
urlscheme://%7B%22Type%22:%22photo%22,%22Name%22:%22Photo13%22%7D
所以我必须通过在所有可能的更改上一遍又一遍地调用 stringByReplacingOccurrencesOfString 来更改它。
replacedString = replacedString.stringByReplacingOccurrencesOfString("%7B",
withString: "{",
options: NSStringCompareOptions.LiteralSearch,
range: nil)
.
..
...
在 Swift 中有更好的方法吗?
你得到的是 percent encode string。这样做是因为某些字符在 URL 中具有特殊含义。 NSString 方法 stringByRemovingPercentEncoding
将为您将百分比编码字符串转换回普通字符串。
看到这个answer