29

次の文字列を文字列変数に格納したい

{"ID":"123","登録日":"2012-10-21T00:00:00+05:30","ステータス":0}

これは私が使用するコードです..

String str="{"Id":"123","DateOfRegistration":"2012-10-21T00:00:00+05:30","Status":0}";

..しかし、それはエラーを示しています..

4

8 に答える 8

43

あなたはこれをしなければなりません

String str="{\"Id\":\"123\",\"DateOfRegistration\":\"2012-10-21T00:00:00+05:30\",\"Status\":0}";


これを参照してください
msdnからも:)

Short Notation  UTF-16 character    Description
\'  \u0027  allow to enter a ' in a character literal, e.g. '\''
\"  \u0022  allow to enter a " in a string literal, e.g. "this is the double quote (\") character"
\\  \u005c  allow to enter a \ character in a character or string literal, e.g. '\\' or "this is the backslash (\\) character"
\0  \u0000  allow to enter the character with code 0
\a  \u0007  alarm (usually the HW beep)
\b  \u0008  back-space
\f  \u000c  form-feed (next page)
\n  \u000a  line-feed (next line)
\r  \u000d  carriage-return (move to the beginning of the line)
\t  \u0009  (horizontal-) tab
\v  \u000b  vertical-tab
于 2012-11-21T08:33:17.403 に答える
7

次のように、文字列内の引用符をエスケープする必要があります。

String str="{\"Id\":\"123\",\"DateOfRegistration\":\"2012-10-21T00:00:00+05:30\",\"Status\":0}";
于 2012-11-21T08:32:48.990 に答える
2

次のように内側の引用符をエスケープする必要があります。

String str="{\"Id\":\"123\",\"DateOfRegistration\":\"2012-10-21T00:00:00+05:30\",\"Status\":0}";
于 2012-11-21T08:32:51.007 に答える
0

独創的な思考ソリューションとして、JSON を base64 にエンコードして、1 行で文字列値としてインポートできるようにしました。

これにより、動的オブジェクトを記述したり文字を手動でエスケープしたりすることなく、行の書式が保持されます。形式は、テキスト ファイルから JSON を読み取る場合と同じです。

var base64 = "eyJJZCI6IjEyMyIsIkRhdGVPZlJlZ2lzdHJhdGlvbiI6IjIwMTItMTAtMjFUMDA6MDA6MDArMDU6MzAiLCJTdGF0dXMiOjB9";
byte[] data = Convert.FromBase64String(base64);
string json = Encoding.UTF8.GetString(data);

//using the JSON text
var result = JsonConvert.DeserializeObject<object>(json);

于 2021-05-04T02:08:06.230 に答える