我有一个C#.NET WebAPI项目,我的所有API都是以下形式:
[HttpGet]
public IHttpActionResult Get()
{
var myComplexObject = BuildResponse();
return Ok(myComplexObject);
}
Ok()
函数当前负责将响应对象序列化为JSON字符串。如何告诉框架使用自定义JSON序列化程序而不是默认序列化程序?
答案 0 :(得分:1)
如果要对所有请求使用自定义序列化程序,请在WebApiConfig.cs中配置CalcObservable
public partial class MainWindow : Window, INotifyPropertyChanged
{
public MainWindow()
{
DataContext = this;
InitializeComponent();
CalcObservable = DatabaseQueries.ShiftInputSourceObserv(SelectedEmployee.Key, DateFilter);
MyDataGrid.SetBinding(ComboBox.ItemsSourceProperty, new Binding(nameof(CalcObservable)) { Source = this });
}
private ObservableCollection<CalcTable> _calcObservable = new ObservableCollection<CalcTable>();
public ObservableCollection<CalcTable> CalcObservable
{
get { return _calcObservable; }
set { _calcObservable = value; OnPropertyChanged(nameof(CalcObservable)); }
}
public event PropertyChangedEventHandler PropertyChanged;
protected void OnPropertyChanged(string name)
{
if (PropertyChanged != null)
PropertyChanged(this, new PropertyChangedEventArgs(name));
}
}
这是一篇关于如何制作自己的选择剂的文章
答案 1 :(得分:0)
通过调用OK()方法返回的实例,可以创建新的OkNegotiatedContentResult。从那里你放了你的JsonSerializerSettings。
实际上,当您调用OK(T内容)方法时,它将帮助您创建新的OkNegotiatedContentResult对象。它会将你的响应对象包装在那里。所以你可以直接。 希望它有所帮助。