在尝试 post json 内容给 asp.net core 后台的时候,后台对象始终为 null,网络请求如下:
{"draw":1,"columns":[{"data":"userName","name":"","searchable":true,"orderable":false,"search":{"value":"","regex":false}},{"data":"nickName","name":"","searchable":true,"orderable":false,"search":{"value":"","regex":false}},{"data":"deptCode","name":"","searchable":true,"orderable":false,"search":{"value":"","regex":false}},{"data":"_CreateTime","name":"","searchable":true,"orderable":false,"search":{"value":"","regex":false}},{"data":"disabled","name":"","searchable":true,"orderable":false,"search":{"value":"","regex":false}}],"order":[{"column":0,"dir":"asc"}],"start":0,"length":20,"search":{"value":"","regex":false},"SearchPar":{"userName":""}}
content-type: application/json; charset=UTF-8
后台代码如下:
将对象改成简单的类型,可以正常接受到,难道是泛型的问题?最后,发现,好像是枚举类型无法正常接收,导致整个对象都为 null。
解决方案:
使用 NewtonsoftJson 反序列化对象,默认可能是 System.Text.Json 处理的。
nuget 命令如下:
Startup 修改如下:
(完)
|