Добавить обратную клетку в строку в Objective-C
-
22-09-2019 - |
Вопрос
У меня проблема, идентичная этой проблеме здесь.
Я даже хочу кодировать ту же инфромацию, что и он (это дата/время для asp.net) ...
Когда я когда -нибудь пытаюсь добавить Backslash, я получаю две обратные сбоя с тех пор, как использовал .
Каждый в ветке выше утверждает, что это проблема с NSLOG и что NSString относится к \\
как \
. Анкет Я проверил это дальше, используя Sniffer Packet для изучения пакетов, которые я отправляю в WebServer, и я могу подтвердить, что он передает двойную обратную черту вместо одной BackSlash.
Кто -нибудь знает, как добавить обратную черту в NSString?
Решение
Строки и NSLOG работают для меня отлично:
NSLog(@"\\"); // output is one backslash
NSLog(@"\\\\"); // output is two backslashes
NSLog(@"\\/Date(100034234)\\/"); // output is \/Date(100034234)\/
Что мне не хватает?
Другие советы
Попробуй это:
yourStr = [yourStr stringByReplacingOccurrencesOfString:@"\\\\" withString:@"\\"];
NSLog(@"%@", yourStr);
У меня была та же проблема, оказалось, что мой анализатор json заменены Все случаи «» с «», так что, когда я так дал свой первоначальный код:
NSString *jsonString = [myJSONStuff JSONRepresentation];
NSLog(@"%@", jsonString);
Это то, что я получил:
{TimeStamp: "/date (12345678) /"}
Тем не менее, сама строка содержала четыре бэкзота (но только 2 из них напечатаны NSLOG).
Это то, что мне помогло:
NSString *jsonString = [myJSONStuff JSONRepresentation];
jsonString = [jsonString stringByReplacingOccurrencesOfString:@"\\\\" withString:@"\\"];
NSLog(@"%@", jsonString);
Результат:
{TimeStamp: "/date (12345678) /"}