JavaScriptSerializer() オブジェクトを評価する必要があります。
var userSettings = '<%= new System.Web.Script.Serialization.JavaScriptSerializer().Serialize(ViewData["UserSettings"]) %>';
上記の行は次のように出力します。
{"SalesTaxPercentage":7.75,"StartOfWeek":"SUNDAY","NoofRowsInList":10,"ShowDashboardEntry":5,"DisplayContactsFormat":"LastName, FirstName","FooterNotes":""When you look good, you feel good...when you feel good, your attitude changes...and attitude is everything!"
You are the heart of my business....THANK YOU!"}
次のようなシリアル化されたコンテンツに eval を使用する場合:
userSettings = eval("(" + userSettings + ")");
エラーがスローされます:
プロパティ リストの後に } がありません
これは、eval 中のシリアル化されたオブジェクト (FooterNotes の " および開始引用符と終了引用符の間にあるその他の文字) の特殊文字が原因です。
評価前にシリアル化された特殊文字を削除するにはどうすればよいですか?
SalesTaxPercentage
または、シリアル化されたオブジェクトから値を取得するにはどうすればよいですか?