<PackageReference Include="System.Text.Json" Version="7.0.3" />

ReferenceResolver

public abstract class ReferenceResolver
This class defines how the JsonSerializer deals with references on serialization and deserialization. Defines the core behavior of preserving references on serialization and deserialization.
using System.Runtime.CompilerServices; namespace System.Text.Json.Serialization { [System.Runtime.CompilerServices.NullableContext(1)] [System.Runtime.CompilerServices.Nullable(0)] public abstract class ReferenceResolver { public abstract void AddReference(string referenceId, object value); public abstract string GetReference(object value, out bool alreadyExists); public abstract object ResolveReference(string referenceId); internal virtual void PopReferenceForCycleDetection() { throw new InvalidOperationException(); } internal virtual void PushReferenceForCycleDetection(object value) { throw new InvalidOperationException(); } internal virtual bool ContainsReferenceForCycleDetection(object value) { throw new InvalidOperationException(); } } }