示例:
var str= "{ \"ouShortCode\":\"1001\",\"ouId\":\"81\",\"ouName\":\"测试公司\"}"; //测试
FromEBSOuNameInfoData ToEBSOuNameInfoData = new FromEBSOuNameInfoData();
JsonConvert.SerializeObject(ToEBSOuNameInfoData)《===【等同于】==》str
// 需要给一个实体赋默认值,但数据源不存在的字段, 但又需要该字段时 赋予 固定默认值的时候,用方法1,若用方法2 会报错。找不到对应的字段; 方法2适用于 数据源存在该字段,而且为null 时,赋予默认值,就适用方法2
FromEBSOuNameInfoDataToList OuNameInfoDataList = JsonConvert.DeserializeObject<FromEBSOuNameInfoDataToList>(JsonConvert.SerializeObject(ToEBSOuNameInfoData));
//正确写法 【方法1】
/// <summary>
/// 方法1适用于 数据源不存在该字段,但是需要赋予默认值的时候
/// </summary>
public class FromEBSOuNameInfoDataToList : FromEBSOuNameInfoData
{
/// <summary>
/// 甲/乙方 Y/N
/// </summary>
public string Isself
{
get
{
return "Y";
}
set { Isself = value; }
}
/// <summary>
/// 甲/乙方
/// </summary>
public string Isselfdes
{
get
{
return "甲方";
}
set { Isself = value; }
}
}
//错误写法 【方法2】
/// <summary>
/// 方法2适用于 数据源存在该字段,而且为null 时,赋予默认值,就适用方法2
/// </summary>
public class FromEBSOuNameInfoDataToList : FromEBSOuNameInfoData
{
/// <summary>
/// 甲/乙方 Y/N
/// </summary>
public string Isself
{
get
{
if (Isself == null)
{
return "Y";
}
else
{
return Isself;
}
}
set { Isself = value; }
}
/// <summary>
/// 甲/乙方
/// </summary>
public string Isselfdes
{
get
{
if (Isself == null)
{
return "甲方";
}
else
{
return Isself;
}
}
set { Isself = value; }
}
}