I have a class that presented like
public class ItemCollection<T> : ICollection<T> {
    public ItemCollection() {
        Items = new List<T>();
    }
    public List<T> Items { get; set; }
    ...
}
Now it will be serialized into:
{
    "Property": [{...}]
}
But I want the result is like:
{
    "Property": {"Items": [{...}]}
}
Sorry for the missing information of this question.
I now stuck in serialization when using System.Text.Json.
In Newtonsoft.Json, I use [JsonObject] to annotate this class so it can serialization correctly into json with "Items": value, but I don't know how to serialize the Items property using System.Text.Json.
I have some classes inherited this class and the inheritances will be as properties in other classes.
Solution:
Thank you for every one that answered this question, I have found a solution to solve this. I create a ConverterFactory to resolve the needed types to create the converters. In the converter, I create new JsonObject and use Reflection to create the properties in the type, after this, I serialize the JsonObject so I can get the correct result.
 
     
    