在Rest API中,return datetime null以json格式创建错误

时间:2012-02-18 06:04:13

标签: c# api rest json.net

我在Rest服务器中创建了一个get方法,它将以json格式返回数据。 在json对象中包含一个日期时间字段,如果我将此datetime字段传递为null,则它将通过异常。

这是我的代码似乎无法运作

public class meta 
{ 
  private System.DateTime createdField; 
    [System.Xml.Serialization.XmlElementAttribute(Form=System.Xml.Schema.XmlSchemaFo‌​rm.Unqualified)] 
     public System.DateTime created { 
       get { return this.createdField; } 
       set { this.createdField = value; } 
     } 
  } 

1 个答案:

答案 0 :(得分:2)

制作DateTime Nullable,它应该有效。

您也可以尝试将[JsonIgnore]放在该属性上。

示例

   class Program
    {
        static void Main(string[] args)
        {
            var mo = new MyObject { integerValue = null, dateTimeValue = null };
            var ser = Newtonsoft.Json.JsonConvert.SerializeObject(mo);
            var deser = Newtonsoft.Json.JsonConvert.DeserializeObject(ser, typeof(MyObject));
        }
    }

    public class MyObject
    {
        public int? integerValue { get; set; }
        public DateTime? dateTimeValue { get; set; }        
    }