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