'optimizing the code, calling different class on deserialization

I need help, how can I shorten this code. I have a response message which I need to deserialize based on code type. the deserialization is of different classes. Below code works if I write for each loop inside each "if"statement but I am looking for a better way to write this

private async Task GetMappedCode( string id, List<string> mappedCode, string dresponseMessage, string codeType)
        {            
            if (codeType == "discipline")
            {
               var myDeserializedClass = new List<DisciplineCode>();
               myDeserializedClass = JsonConvert.DeserializeObject<List<DisciplineCode>>(dresponseMessage);
            }
            else if(codeType == "system")
            {
                var myDeserializedClass = new List<SystemCode>();
                myDeserializedClass = JsonConvert.DeserializeObject<List<SystemCode>>(dresponseMessage);
            }
            
            foreach (var did in myDeserializedClass)
            {
                if (did.id == $"rdl:{id}")


Sources

This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.

Source: Stack Overflow

Solution Source