我在这里遇到了与此问题相同的问题。
我什至想编码与他相同的信息(这是asp.net的日期/时间)......
每当我尝试添加反斜杠时,我都会得到两个反斜杠,因为我使用了 \。
上面线程中的每个人都声称这是 NSLog 的问题,并且 NSString 确实将\\
其视为\
. 我已经通过使用数据包嗅探器检查我发送到网络服务器的数据包进一步检查了这一点,我可以确认它正在传输双反斜杠而不是单反斜杠。
有谁知道如何在 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 解析器用“\\\\”替换了所有出现的“\\”,所以当我 NSLogged 我的原始代码是这样的:
NSString *jsonString = [myJSONStuff JSONRepresentation];
NSLog(@"%@", jsonString);
这就是我得到的:
{时间戳:“\\/日期(12345678)\\/”}
但是,字符串本身包含四个反斜杠(但其中只有两个由 NSLog 打印)。
这对我有帮助:
NSString *jsonString = [myJSONStuff JSONRepresentation];
jsonString = [jsonString stringByReplacingOccurrencesOfString:@"\\\\" withString:@"\\"];
NSLog(@"%@", jsonString);
结果:
{时间戳:“\/日期(12345678)\/”}