Похоже, что JsonValueProviderFactory (из Microsoft.Web.Mvc), который я использую в своем проекте ASP.NET MVC2, зависит от конкретной культуры.
Я отправляю этот JSON из клиента:
{
"name": "Max",
"weight": "60.21"
}
JsonValueProviderFactory преобразует JSON в этот класс:
public class User
{
public string Name { get; set; }
public double Weight { get; set; }
}
Все работает правильно, если моя текущая культура - CultureInfo.InvariantCulture.Но если я явно установлю свою культуру на «ru-RU», значение веса пользователя будет равно 0,0
Хорошо, я могу отправить отформатированное значение, основанное на культуре для веса, от клиента, например:
{
"name": "Max",
"weight": "1,100.21" // it's just example, not my real weight :)
}
Но в этом случае JsonValueProviderFactory не может проанализировать вес, и он будет равен нулю, хотя double.Parse ("1,100.21", CultureInfo.CurrentCulture) работает правильно.
Как я могу решить эту проблему?