C# と Razor ビュー エンジンの大規模な MVC 3 Web アプリケーションのシリアライザーとして JSON.Net を使用しています。1 つのビューでの最初のページ ロードでは、 を使用してスクリプト タグ内に大量の JSON がダンプされます@Html.Raw(JsonConvert.SerializeObject(myObject))
。
問題は、一部のオブジェクトの一部の値にアポストロフィ (O'Brien などの名前を考えてください) が含まれていることです。これは、JSON.Net がエスケープまたはエンコードしていません。
データベースに保存されている値を事前にエンコードすることは、他のさまざまなプロセスを非常に複雑にするため、オプションではありません。
JSON.Net にシリアライズするオブジェクトの値を強制的に HTML エンコードさせる方法はありますJavaScriptSerializer.Serialize(myObject)
か? または、ビューでこれに対処する方法はありますか?