Objective-Cの文字列にバックスラッシュを追加します
-
22-09-2019 - |
質問
この問題と同じ問題があります ここ.
私も彼と同じ侵入をエンコードしたいです(それはasp.netの日付/時刻です)...
バックスラッシュを追加しようとするとき、私はを使用してから2つのバックスラッシュを取得します。
上記のスレッドの誰もが、これがNSLOGの問題であり、NSStringが扱うと主張しています \\
として \
. 。パケットスニファーを使用してWebサーバーに送信しているパケットを調べてこれをさらに確認しました。単一のバックスラッシュの代わりにダブルバックスラッシュを送信していることを確認できます。
誰かが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)/"}
ただし、文字列自体には4つのバックスラッシュが含まれていました(ただし、NSLOGで印刷されているのは2つだけです)。
これが私を助けたものです:
NSString *jsonString = [myJSONStuff JSONRepresentation];
jsonString = [jsonString stringByReplacingOccurrencesOfString:@"\\\\" withString:@"\\"];
NSLog(@"%@", jsonString);
結果:
{Timestamp: "/date(12345678)/"}
所属していません StackOverflow