Учитывая следующий класс,
public class Result
{
public bool Success { get; set; }
public string Message { get; set; }
}
Я возвращаю один из них в действии Контроллера как так,
return Json(new Result() { Success = true, Message = "test"})
Однако моя клиентская платформа ожидает, что эти свойства будут строчным успехом и сообщением. На самом деле не имея необходимость иметь строчные имена свойства то, что способ достигнуть этой мысли нормальный вызов функции Json?
Для этого можно реализовать собственный JsonResult
, как здесь:
Создание настраиваемого ValueType и сериализация с помощью настраиваемого JsonResult (исходный ссылка мертва) .
И используйте альтернативный сериализатор, такой как JSON.NET , который поддерживает такое поведение, например:
Product product = new Product
{
ExpiryDate = new DateTime(2010, 12, 20, 18, 1, 0, DateTimeKind.Utc),
Name = "Widget",
Price = 9.99m,
Sizes = new[] {"Small", "Medium", "Large"}
};
string json =
JsonConvert.SerializeObject(
product,
Formatting.Indented,
new JsonSerializerSettings
{
ContractResolver = new CamelCasePropertyNamesContractResolver()
}
);
Результаты в
{
"name": "Widget",
"expiryDate": "\/Date(1292868060000)\/",
"price": 9.99,
"sizes": [
"Small",
"Medium",
"Large"
]
}