允许 JSON 输入参数,但不序列化输出

Allow JSON Input for Parameter, but do not Serialize in Output

我需要一个 .NET Web API 允许从 JSON 对象输入字段,但不会将其序列化。我已经尝试了 [JsonIgnore] 注释,但是对于任何 json 对象,它都会完全忽略它,包括输入。

型号

public class MyModel{
    [Key]
    public int id {get; set;}
    public string name {get; set;}
    [JsonIgnore]
    public Byte[] file {get; set;}
}

Json 输入

{
    "name" : "MyName",
    "image" : "akjsfjkha37842hui23yh23b"
}

期望的输出

{
    "name" : "MyName"
}

为此,您应该使用 ShouldSerialize[field] 方法。 Json.NET通过寻找方法判断是否将某个字段序列化为JSON。使用以下将阻止 'image' 序列化:

public bool ShouldSerializeimage(){
return false;
}

这应该放在模型中。