作者:黑马@梦想 | 来源:互联网 | 2023-08-18 17:54
这两天在工作中使用SignalR的WebSocket做数据实时传递的功能开发,在后端主动向前端广播数据以Json传递时,前端获取的Json中对应类的变量名首字母默认传递的是大写。而
这两天在工作中使用SignalR的WebSocket做数据实时传递的功能开发,在后端主动向前端广播数据以Json传递时,前端获取的Json中对应类的变量名首字母默认传递的是大写。而前端一直获取到的后台返回给Json中字段均为首字母小写的驼峰命名法。原因出在什么地方了呢?
调研了一番,发现我们一般Web Api 或者Web MVC中的Controler内的那些JsonResult、ActionResult、IHttpActionResult等返回给前端的数据,都是经过语法限定为采用“驼峰”命名法首字母小写的方式传递的。这里简述下三种方式:
1)在配置路由的WebApiConfig中添加如下属性:
// 对 JSON 数据使用混合大小写。驼峰式,但是是Javascript 首字母小写形式.
config.Formatters.JsonFormatter.SerializerSettings.COntractResolver= new CamelCasePropertyNamesContractResolver()
using Newtonsoft.Json;
///
///商品类。
///
public class Product
{
///
/// 商品Id
///
[JsonProperty("productId")]
public string ProductId { set; get; }
///
/// 商品名称
///
[JsonProperty("productName")]
public string ProductName { set; get; }
}
以上就是最近填坑的历程。