This sample sets Argon.ReferenceLoopHandling
to Ignore so that looping values are excluded from serialization instead of throwing an exception.
public class Employee
{
public string Name { get; set; }
public Employee Manager { get; set; }
}
var joe = new Employee {Name = "Joe User"};
var mike = new Employee {Name = "Mike Manager"};
joe.Manager = mike;
mike.Manager = mike;
var json = JsonConvert.SerializeObject(joe, Formatting.Indented, new JsonSerializerSettings
{
ReferenceLoopHandling = ReferenceLoopHandling.Ignore
});
Console.WriteLine(json);
// {
// "Name": "Joe User",
// "Manager": {
// "Name": "Mike Manager"
// }
// }