允许参数的JSON输入,但不要在输出中序列化

时间:2015-03-23 16:21:26

标签: .net json serialization asp.net-web-api annotations

我需要一个.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"
}

1 个答案:

答案 0 :(得分:0)

为此,您应该使用ShouldSerialize [field]方法。 Json.NET通过查找方法确定是否将字段序列化为JSON。使用以下内容可防止“图像”序列化:

public bool ShouldSerializeimage(){
return false;
}

这应该放在模型中。