79497293

Date: 2025-03-10 07:32:51
Score: 2
Natty:
Report link

then adding the second code sample produces the same json however this time nested fields are showing {} instead on the data

do you mean WriteIndented doesn't work?Could you share an example with the model:

public class Employee
{
public string? Name { get; set; }
public Employee? Manager { get; set; }
public List<Employee>? DirectReports { get; set; }
}

If the default handler can't meet your requirement,you could create a handler follow this document:

 public class MyReferenceResolver : ReferenceResolver
{
.......
}
class MyReferenceHandler : ReferenceHandler
{
    public MyReferenceHandler() => Reset();
    private ReferenceResolver? _rootedResolver;
    public override ReferenceResolver CreateResolver() => _rootedResolver!;
    public void Reset() => _rootedResolver = new MyReferenceResolver();
}





var myReferenceHandler = new MyReferenceHandler();
builder.Services
       .AddControllers()
       .AddJsonOptions(options =>
       {
           options.JsonSerializerOptions.ReferenceHandler =myReferenceHandler;
           //options.JsonSerializerOptions.DefaultIgnoreCondition = System.Text.Json.Serialization.JsonIgnoreCondition.WhenWritingNull; // Optional
           options.JsonSerializerOptions.WriteIndented = true; // For formatting
       });
Reasons:
  • Blacklisted phrase (1): this document
  • RegEx Blacklisted phrase (2.5): Could you share
  • RegEx Blacklisted phrase (1.5): Resolver?
  • Long answer (-1):
  • Has code block (-0.5):
  • Contains question mark (0.5):
  • High reputation (-2):
Posted by: Ruikai Feng