作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
当我尝试使用以下代码时出现错误:
filters.Filters = JsonConvert.DeserializeObject<List<SearchFilterItem>>(customFilterString);
SearchFilterItem 是以下类:
public Guid Id { get; set; }
public string ColumnName { get; set; }
public string ColumnDisplayName { get; set; }
public SearchColumnTypes ColumnType { get; set; } //Character, Numeric, Boolean, Date, DateTime.
public SearchOperators Operator { get; set; }
public string Value { get; set; }
public string DisplayValue { get; set; }
public string Logic { get; set; } //And / Or
我尝试从 JavaScript 发送以下内容:
if ($.isNumeric($scope.type)) {
filter = {
columnDisplayName: 'Type Id',
columnName: 'LTypeId',
columnType: parseInt('1'),
value: $scope.type.toString(),
displayValue: $scope.type.toString(),
strOperator: 'Equals', Logic: "AND"
};
那么,我的问题是如何正确发送作为 C# 枚举的 columnType?
我在运行时遇到这个错误:
"Could not cast or convert from System.Int64 to Siriusware.Models.Messages.SearchColumnTypes."} System.Exception {System.ArgumentException
我该怎么办?
最佳答案
Newtonsoft.Json 中有一个 StringEnumConverter 属性,它具有这个确切的目的。您可以在此处查看相关文档:
https://www.newtonsoft.com/json/help/html/t_newtonsoft_json_converters_stringenumconverter.htm
这是一篇博客文章,提供有关该主题的有趣信息,例如自定义转换器:
关于javascript - Newtonsoft.JsonConvert - 如何将 JavaScript 对象反序列化为一个属性为 Enum 的对象?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52843163/
我是一名优秀的程序员,十分优秀!