2011-02-16 12 views
6

Webサービスの一部をWCF RestからMVC3に変換中です。 [WebGet(.... ResponseFormat=WebMessageFormat.Json]JsonResult u0027(アポストロフィ)として特殊文字を解析する

を私のコントローラでは、私は、戻り値の型としてするJsonResultを使用して、そしてJson(someObject, ...)でJSONを作成しています簡単なPOCOをバック返すために:

私たちの古いWebサービスが使用POCOの罰金からJSONを返しました。

WCF Restサービスでは、アポストロフィと特殊文字は、クライアントに提示されるときれいにフォーマットされます。

MVC3コントローラでは、アポストロフィは\ u0027として表示されます。

どのような考えですか?私はJSONをシリアライズするのが初めてだから、どんなポインタも大きな助けになるだろう。

例応答: WCFレスト: {"CategoryId":8,"SomeId":6,"Name":"Richie's House"}

MVC3:

{"CategoryId":8,"SomeId":6,"Name":"Richie\u0027s House"}

答えて

8

両方の表現が等価であるように、任意の問題にはならない。

var a = {"CategoryId":8,"SomeId":6,"Name":"Richie\u0027s House"}; 
alert(a.Name); 

アラートRichie's House

+3

Oh ... my ... gosh .....私のデスクトップ上の私のブラウザのアドオンは、読みやすいように書式を設定していました... grrrrもっとコーヒーが必要です。あなたの時間を無駄にして申し訳ありません。 – Richard

1

ちょうど行いますよう

yourObject.Name = yourObject.Name.Replace("'", "\\u027"); 

だから、あなたは、ブラウザでJavaScriptやショーに警告しようとした場合、それは意志表示されます')

したがって、特殊文字はUnicodeで返されますが、ページにレンダリングすると正しく表示されます。

1

U+0027は、アポストロフィのUnicode(ある

リッチーの家:

関連する問題