15

HTTP POST リクエストで JSON を送信しています。JSON オブジェクト内のテキストの一部には、上付き文字が必要です。

次のように C# で文字列を作成すると:

string s = "here is my superscript: \u00B9";

... \u00B9 を実際の上付き文字 1 に変換すると、JSON が壊れます。\u00B9 を、上付き文字としてではなく、文字列に書いたとおりに表示したい。

エスケープ文字を追加すると、次のように表示されます。

エスケープ文字を使用したくありませんが、実際の上付き文字に変換したくありません。C# で Unicode 変換を行わず、文字どおり "\u00B9" のままにする方法はありますか?

4

3 に答える 3

27

あなたの質問を正しく理解できたら...文字列の前にアットマーク(@)を追加して、エスケープシーケンスが処理されないようにします

 string s = @"here is my superscript: \u00B9";

http://msdn.microsoft.com/en-us/library/362314fe(v=vs.80).aspx

于 2013-06-24T16:41:09.387 に答える
11

私は@NinjaNyeの答えが好きですが、もう1つのアプローチは、ダブルバックスラッシュを使用してリテラルにすることです。したがってstring s = "here is my superscript: \\u00B9"

于 2013-08-21T10:52:05.677 に答える