5

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
    }]
}

「値」トークンの下の配列内の要素は、異なる派生型です。抽象基底クラスが
あり、基底から継承するクラスはとです。 指定された JSON 配列 (常にではありません!) では、最初の要素はof 型で、2 番目の要素は of型です。 DomainDnsRecordDomainDnsTxtRecordDomainDnsMxRecord
DomainDnsTxtRecordDomainDnsMxRecord

指定された要素のタイプに関する情報を含むフィールドは、「recordType」です。

この JSON 配列を基底クラスのリストに逆シリアル化する最も簡単で便利な方法は何List<DomainDnsRecord>ですか? (たとえば、Newtonsoft を使用)?

4

0 に答える 0