The problem is probably that your SYSTEM_AUDIT_SHEET
either contains a property that references instances of type SYSTEM_AUDIT_SHEET
, or it contains a property that points to objects that have pointers to SYSTEM_AUDIT_SHEET
instances. Serializing such a circle of pointers would result in a serialization process that would never end.
您将需要将<代码>SYSTEM_AUDIT_SHEET改为在进行序列化之前没有(直接或间接)参照的类型。 您可以创建一种品牌新类型和书写代码,以在以下表格中显示这种类型:(AutoMapper, 可能在此有手。 然而,我倾向于认为,在大多数情况下,使用匿名类型更容易:
SYSTEM_AUDIT_SHEET sheet = /*some sheet*/
var json = new {
sheet.Id,
sheet.RevisionNumber,
sheet.Title
};
return serializer.Serialize(json);
http://www.ohchr.org。
如果你想使用自动申请器,并假定贵方书看起来像什么。
class SYSTEM_AUDIT_SHEET
{
public int Id { get; set; }
public SYSTEM_AUDIT_SHEET SomeOtherAuditSheet { get;set;}
public string Title { get;set;}
}
你们可以创造这样的环境。
class JSON_SYSTEM_AUDIT_SHEET
{
public int Id { get; set; }
public int SomeOtherAuditSheetsId { get;set;}
public string Title { get;set;}
}
当申请开始时(例如,在申请中——Start),你召集了“自动申请”:
AutoMapper.Mapper.CreateMap<SYSTEM_AUDIT_SHEET, JSON_SYSTEM_AUDIT_SHEET>()
.ForMember(dest => dest.SomeOtherAuditSheetsId, opt => opt.MapFrom(src => src.SomeOtherAuditSheet.Id));
<代码>Id和Title
特性将直接从 SYSTEM_AUDIT_SHEET
至JSON_SYSTEM_AUDIT_SHEET
,因为它们有两种类型相同的名称。 财产<代码>Some OtherAuditSheetsId需要特殊配置,因为不存在来源类型上的确切名称的财产。
当你想转换时 海关数据 您:
return AutoMapper.Mapper.Map<SYSTEM_AUDIT_SHEET , JSON_SYSTEM_AUDIT_SHEET >(sheet);
您不妨查阅。 AutoMapper sngtening profiles。
希望这一帮助。