设置DataContract /序列化类的属性

时间:2016-01-20 14:04:43

标签: c# json serialization datacontract

我有一个序列化类,它'解释'一个json文件,当json拥有所有可能的对象和键等时,一切都很棒。

当序列化找不到特定的json键时,它将缺少的变量/属性的值默认为0表示整数,null表示字符串,false表示bools。

我希望能够为整数设置我自己的默认值,例如-1,这样如果在反序列化期间变量未初始化,则它具有预期值。

这是一个例子。

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Runtime.Serialization;
using System.ComponentModel;

namespace exampleSerialiser
{
    [DataContract]
    [KnownType(typeof(exampleSerialiser))]
    public class exampleSerialiser
    {
        [DataMember]
        [DefaultValue("whyIsThisNotSet")]
        public string id { get; set; }
        [DataMember]
        public bool ison{ get; set; }
    }
}

示例Json(空)

  

{

     

}

得到的变量值

  

ID = “”
  ISON =假

期望值

  

ID = “valueNotSetHere”
  ISON =真

0 个答案:

没有答案