在ASP.NET MVC中从Json()强制使用小写属性名称

鉴于以下课程,

public class Result

{

public bool Success { get; set; }

public string Message { get; set; }

}

我将在这样的Controller动作中返回其中之一,

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"

]

}

以上是 在ASP.NET MVC中从Json()强制使用小写属性名称 的全部内容, 来源链接: utcz.com/qa/411200.html

回到顶部