Swift: изменить NSURLRequest в формате JSON на строку

Что я делаю, так это отправляю структурированную строку JSON в NSULRRequest, избавляюсь от префикса схемы URL, сериализую ее в 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?


person Kyle KIM    schedule 27.09.2015    source источник


Ответы (1)


У вас есть строка процентного кодирования. Это делается потому, что некоторые символы имеют особое значение в URL-адресе. Метод NSString stringByRemovingPercentEncoding преобразует строку процентного кодирования обратно в обычную строку.

См. этот ответ

person Hugo Tunius    schedule 27.09.2015
comment
Спасибо. Xcode7 просто дайте мне знать, что метод теперь устарел и вместо этого используйте stringByRemovingPercentEncoding. - person Kyle KIM; 28.09.2015