|
|
|
|
@ -95,22 +95,22 @@ namespace OMS.NET.Instructs
|
|
|
|
|
{
|
|
|
|
|
//JsonSerializer.Serialize(writer, (object)value, options); 这个在Data是对象时导致了无限递归调用
|
|
|
|
|
writer.WriteStartObject();
|
|
|
|
|
writer.WriteString(InstructNamingPolicy.Convert(nameof(Instruct.Type)), value.Type);
|
|
|
|
|
writer.WriteString("type", value.Type);
|
|
|
|
|
if (value.Class != null)
|
|
|
|
|
{
|
|
|
|
|
writer.WriteString(InstructNamingPolicy.Convert(nameof(Instruct.Class)), value.Class);
|
|
|
|
|
writer.WriteString("class", value.Class);
|
|
|
|
|
}
|
|
|
|
|
if (value.Conveyor != null)
|
|
|
|
|
{
|
|
|
|
|
writer.WriteString(InstructNamingPolicy.Convert(nameof(Instruct.Conveyor)), value.Conveyor);
|
|
|
|
|
writer.WriteString("conveyor", value.Conveyor);
|
|
|
|
|
}
|
|
|
|
|
if (value.Time != null)
|
|
|
|
|
{
|
|
|
|
|
writer.WriteString(InstructNamingPolicy.Convert(nameof(Instruct.Time)), value.Time);
|
|
|
|
|
writer.WriteString("time", value.Time);
|
|
|
|
|
}
|
|
|
|
|
if (value.Data != null)
|
|
|
|
|
{
|
|
|
|
|
writer.WritePropertyName(InstructNamingPolicy.Convert(nameof(Instruct.Data)));
|
|
|
|
|
writer.WritePropertyName("data");
|
|
|
|
|
if (value.Data.GetType() == typeof(List<ActiveDataElement>))
|
|
|
|
|
{
|
|
|
|
|
JsonSerializer.Serialize(writer, value.Data, value.Data.GetType(), ActiveDataElement.options);
|
|
|
|
|
@ -130,10 +130,10 @@ namespace OMS.NET.Instructs
|
|
|
|
|
{
|
|
|
|
|
ReadCommentHandling = JsonCommentHandling.Skip, //允许注释
|
|
|
|
|
AllowTrailingCommas = true,//允许尾随逗号
|
|
|
|
|
PropertyNamingPolicy = new InstructNamingPolicy(), // 属性名为定制转换
|
|
|
|
|
PropertyNamingPolicy = JsonNamingPolicy.CamelCase, // 属性名为定制转换
|
|
|
|
|
DefaultIgnoreCondition = JsonIgnoreCondition.WhenWritingNull, // 忽略 null 值
|
|
|
|
|
WriteIndented = true, // 美化输出
|
|
|
|
|
//PropertyNameCaseInsensitive = true,//属性名忽略大小写
|
|
|
|
|
PropertyNameCaseInsensitive = true,//属性名忽略大小写
|
|
|
|
|
Converters = { new InstructConverter() },
|
|
|
|
|
};
|
|
|
|
|
public string Type { get; set; }
|
|
|
|
|
|