删除NewtonSoft json序列化信息

本文关键字:信息 序列化 json NewtonSoft 删除 | 更新日期: 2023-09-27 18:18:43

当我尝试在ASP中序列化Object数据类型时。. NET WebApi,包含不需要的属性。

public class SomeViewModel
{
    public SomeViewModel(Object item, SomeItemType itemType)
    {
        Item = item;
        ItemType = itemType;
    }
    public Object Item { get; set; }
    public SomeItemType ItemType { get; set; }
}

使用上述模型,JSON结果如下:我指出不需要的属性

{
"$id": "20",
"Result": { // here the item comes.
  "$id": "21",
  "Id": 1005227636,
  "UserName": null,
  "Locale": 0,
  "Grade": 0
},
"Id": 10, // unwanted properties.
"Exception": null,
"Status": 5,
"IsCanceled": false,
"IsCompleted": true,
"CreationOptions": 0,
"AsyncState": null,
"IsFaulted": false
}

我不知道NewtonSoft的不需要的属性。Json或ASP。. NET管道,但似乎序列化信息是与结果一起插入的。

如何省略不需要的属性?当我序列化强定义类时,它不会产生

删除NewtonSoft json序列化信息

哦,我的错。

Select(async o => item.ThisIsNotAsyncMethod());

linq中的执行代码有async关键字,这不是一个异步任务。删除async。(有点奇怪。我认为async关键字只是await的一个语法糖,并不影响编译结果。也许我误解了)