0

次のように、C#を使用してJSONをPHPスクリプトに送信しています。

string json = "{";
json += "\"prop\":\"some text\"";
json += "}";

PostSubmitter post = new PostSubmitter();
post.Url = "http://localhost/synch/notein.php";
post.Type = PostSubmitter.PostTypeEnum.Post;
post.PostItems.Add("note", json);
post.Post();

もちろん、内側の引用符はエスケープする必要がありますが、スクリプトに送信されます。さらに悪いことに、すでに引用符が付いているテキストがあるため、有効なJSONになるにはそれらをエスケープする必要があります。この場合、バックスラッシュを送信したいと思います。これを達成するためのアイデアはありますか?

4

3 に答える 3

2

カスタムオブジェクトをjsonの結果にシリアル化してみませんか。そうすれば、エスケープについて心配する必要はありません。フレームワークは...次の例を使用JavaScriptSerializerます-JavaScriptSerializerを使用してC#でオブジェクトをJSONに変換します

于 2010-04-18T15:56:16.420 に答える
0

おっと、PostSubmitterは.NETフレームワークのものだと思いましたが、サードパーティです。それにもかかわらず:これはPHPの問題であることが判明しました。誰かが同様の問題を抱えている場合:PHP-docsでget_magic_quotes_gpcを探します。

于 2010-05-03T06:56:56.050 に答える
0

バックスラッシュをエスケープします\\:

json += "\\\"prop\":\\\"some text\\\"";
于 2010-04-18T15:57:15.760 に答える