1

我试图了解在 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)/”}

我的问题是,这是预期的行为还是我错过了什么?

4

1 回答 1

1

我的问题是,这是预期的行为吗

是的。

于 2013-10-31T10:21:32.963 回答