我试图了解在 ASP.net MVC 4 中内部用于将数据序列化为 JSON 的 JavaScriptSerializer 是否忽略了当前线程的 CultureInfo。
我目前的观察如下。
我在 global.asax 的 Application_AuthenticateRequest 方法中设置了文化信息属性
var ci = new CultureInfo("es-ES");
Thread.CurrentThread.CurrentUICulture = ci;
Thread.CurrentThread.CurrentCulture = CultureInfo.CreateSpecificCulture(ci.Name);
如果我返回常规视图,则 UI 和数据会根据文化正确序列化。例如,标签将转换为西班牙语,贷记和借记值按预期显示在屏幕上,用逗号代替小数点。
Vorname Nachname DOB Erstellungsdatum Datum aktualisiert Credit Debit
sfds sfdsfds 11-11-2013 29/10/2013 18:20:29 30/10/2013 22:29:20 11,00 11,00
但是当我返回 JSON 结果时,数字不是根据文化格式化的。如下所示,贷方和借方的值有小数点而不是逗号。我对 JSON.net 库也没有任何运气。
{ “CreateDate”:“/Date(1383085229737)/”,“Credit”:11.0,“DOB”:“/Date(1384146000000)/”,“Debit”:11.0,“FirstName”:“sfds”,“Id” :1,“姓氏”:“sfdsfds”,“更新日期”:“/日期(1383186560390)/”}
我的问题是,这是预期的行为还是我错过了什么?