我有一个序列化类,它'解释'一个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 =真