C #: asp.net 3.5: desserializar JSON - como obter cada string de objet

sei que existem outros lugares que dão essa resposta, mas o que estou tentando obter é mais complicado, esse é o meu código para desserialização:

estes são os dados json, por exemplo:

data = @"{""ShiftID"":""2"",""EmpName"":""dsdsfs""}";

Dictionary<string, string> values = JsonConvert.DeserializeObject<Dictionary<string, string>>(data);
List<string> list = new List<string>(values.Keys);
// Loop through list
foreach (string k in list)
{
    System.Diagnostics.Debug.Print("'{0}', '{1}'", k, values[k]);
}

isso retornará ShiftID, 2 e EmpName, dsdsfs como você sabe, ma

O que acontece se minha string json se parecer com isso com vários valores:

data = @"{""ShiftID"":""2"",""EmpName"":""dsdsfs""},{""ShiftID"":""4"",""EmpName"":""dsdsfd""}";

Obrigado

questionAnswers(4)

yourAnswerToTheQuestion