我试图从 json.net 迁移到微软的 json 并发现一些行为非常不同的东西。
让我们使用这个简化的例子:
public interface IName
{
string Name { get; set; }
}
public class Person : IName
{
public string Name { get; set; }
public int Age { get; set; }
}
public void Foo()
{
IName p = new Person {Age = 4, Name = "Waldo"};
var s1 = System.Text.Json.JsonSerializer.Serialize(p); // --> {"Name":"Waldo"}
var s2 = Newtonsoft.Json.JsonConvert.SerializeObject(p); // --> {"Name":"Waldo","Age":4}
}
Microsoft 的 Serializers 序列化来自 IName 的属性 JSON.NET 序列化来自 Person 的属性
有没有办法配置它,使它像 JSON.NET 一样工作?我可以通过的选项并不表明这是可配置的。我忽略了什么吗?