Frage

Ich habe ein Problem, das mit diesem Problem identisch ist hier.

Ich möchte sogar die gleiche Infromation wie er codieren (es ist ein Datum/eine Uhrzeit für ASP.NET) ...

Wenn ich immer versuche, einen Backslash hinzuzufügen, bekomme ich zwei Backslashes, seit ich verwendet habe.

Jeder im obigen Thread hat behauptet, dass dies ein Problem mit NSLog ist und dass NSString behandelt wird \\ Als ein \. Ich habe dies weiter überprüft, indem ich einen Paket -Sniffer verwendet habe, um die Pakete zu untersuchen, die ich an den Webserver sende, und ich kann bestätigen, dass es anstelle eines einzelnen Backslashs einen doppelten Backglash überträgt.

Weiß jemand, wie man einem NSString einen Backslash hinzufügt?

War es hilfreich?

Lösung

Die Saiten und der NSlog funktionieren gut für mich:

NSLog(@"\\"); // output is one backslash
NSLog(@"\\\\"); // output is two backslashes
NSLog(@"\\/Date(100034234)\\/"); // output is \/Date(100034234)\/

Was vermisse ich?

Andere Tipps

Versuche dies:

yourStr =  [yourStr stringByReplacingOccurrencesOfString:@"\\\\" withString:@"\\"];
NSLog(@"%@", yourStr);

Ich hatte das gleiche Problem, stellte sich heraus, dass mein JSON -Parser ersetzt Alle Vorkehrungen von "" mit "", also als ich meinen ursprünglichen Code wie folgt habe:

NSString *jsonString = [myJSONStuff JSONRepresentation];
NSLog(@"%@", jsonString);

Das habe ich bekommen:

{Timestamp: "/Datum (12345678) /"}

Die Zeichenfolge selbst enthielt jedoch vier Backslashes (aber nur 2 von ihnen werden von NSlog gedruckt).

Das hat mir geholfen:

NSString *jsonString = [myJSONStuff JSONRepresentation];
jsonString = [jsonString stringByReplacingOccurrencesOfString:@"\\\\" withString:@"\\"];
NSLog(@"%@", jsonString);

Das Ergebnis:

{Timestamp: "/Datum (12345678) /"}

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top