C# 如何解析派生类型的Json数组?

C# 如何解析派生类型的Json数组?,c#,json-deserialization,azure-ad-graph-api,C#,Json Deserialization,Azure Ad Graph Api,以下是我从web服务获得的JSON响应: { "odata.metadata": "https://graph.windows.net/00c6cd14-eaee-4d02-9807-59bcd4f98847/$metadata#domainDnsRecords", "value": [{ "odata.type": "Microsoft.DirectoryServices.DomainDnsTxtRecord", "dnsRecordId": "

以下是我从web服务获得的JSON响应:

{
    "odata.metadata": "https://graph.windows.net/00c6cd14-eaee-4d02-9807-59bcd4f98847/$metadata#domainDnsRecords",
    "value": [{
        "odata.type": "Microsoft.DirectoryServices.DomainDnsTxtRecord",
        "dnsRecordId": "aceff52c-06a5-447f-ac5f-256ad243cc5c",
        "isOptional": false,
        "label": "aro3652698.applabdnstest1.com",
        "recordType": "Txt",
        "supportedService": "Email",
        "ttl": 3600,
        "text": "MS=ms14815229"
    },
    {
        "odata.type": "Microsoft.DirectoryServices.DomainDnsMxRecord",
        "dnsRecordId": "5fbde38c-0865-497f-82b1-126f596bcee9",
        "isOptional": false,
        "label": "aro3652698.applabdnstest1.com",
        "recordType": "Mx",
        "supportedService": "Email",
        "ttl": 3600,
        "mailExchange": "ms14815229.msv1.invalid",
        "preference": 32767
    }]
}
数组中“value”标记下的元素具有不同的派生类型。
DomainDnsRecord
抽象基类,从基类继承的类有
DomainDnsTxtRecord
DomainDnsMxRecord

在给定的JSON数组中(但不总是!),第一个元素是
DomainDnsTxtRecord
,第二个元素是
DomainDnsMxRecord
类型

包含给定元素类型信息的字段是:“recordType”


将此JSON数组反序列化为基类列表的最简单、最方便的方法是什么,例如
list
(例如使用Newtonsoft)?

可能重复:或。读者注意:请使用Microsoft Graph API,而不是不推荐使用的Azure AD Graph API。