0

私はここで少し奇妙なものを持っています (まあ、私はそれが奇妙だと思います!)。

Web サービスを使用して文字列を返していますが、文字列内に引用符を入れようとしています。たとえば、文字列を返したいとします。クレイグは「こんにちは」と言います。通常は次のようにします。

zString = "Craig says, \"Hello\""; 

しかし、実際に Web サービスから返されるのは、\ を含む文字列です。だから私は実際に戻ってきます:

クレイグ「こんにちは」

これは私を夢中にさせています!アイデアはありますか?この最初の宣言が問題を引き起こしている可能性はありますか?

[WebMethod]
[ScriptMethod(ResponseFormat = ResponseFormat.Json)]

ありがとう、クレイグ

4

3 に答える 3

0

これはjson出力内のjson文字列であるため、2回解析する必要があります。

于 2013-06-18T08:52:03.260 に答える
0

はい。JSON形式であるため、返されるときにを使用して文字もエスケープします。"\

以下と同じです:

{
    "zString": "Craig says, \"Hello\""
}
于 2013-06-18T08:49:43.533 に答える
0

RFC4627:

すべての Unicode 文字は、エスケープする必要がある文字 (引用符、逆ソリッド、および制御文字 (U+0000 から U+001F)) を除いて、引用符で囲むことができます。

これは単に、何も問題がないことを意味します。文字はjson標準に従ってエスケープされています。

于 2013-06-18T08:55:27.220 に答える