Uzyskiwanie dostępu do obiektu ArrayList

Zajmuję się tworzeniem aplikacji, która odczytuje niektóre dane JSON i tworzy statystyki, ale teraz mam problem.

Mam taki ciąg:

{
"position":[
  {
     "someKey1":"someVal1",
     "someKey2":"someVal2",
  },
  {
     "someKey1":"someVal3",
     "someKey2":"someVal4",
  }
}

Chcę uzyskać dostęp do someKeys i someValues.

Konwertuję go na słownik taki jak ten:

Dictionary<string, object> values = deserializeJSON(json_string);

Edytuj 1: Przepraszamy, zapomniałem dodać deserializeJSON:

private Dictionary<string, object> deserializeJSON(string p_jsonObject)
{
    JavaScriptSerializer serializer = new JavaScriptSerializer();
    return serializer.Deserialize<Dictionary<string, dynamic>>(p_jsonObject);
}

Teraz mam problem z uzyskaniem dostępu do listy wartości z kluczem „pozycja”. Jeśli spróbuję wydrukować typ wartości [„pozycja”], otrzymuję:

System.Collections.ArrayList

Pomyślałem więc, że mogę to po prostu przejrzeć, ale nie mogę. Próbowałem użyć modułu wyliczającego (przeczytaj tutaj, że umożliwi to iterację obiektów i że muszę go dodać do listy ArrayList, aby go rzucić):

ArrayList arr = new ArrayList();
IEnumerable enumerable = values["position"] as IEnumerable;

foreach (object element in enumerable)
{
    arr.Add(element);
}

Kiedy drukuję arr [0], otrzymuję:

System.Collections.Generic.Dictionary`2[System.String,System.Object]

Tutaj jestem zdezorientowany. Zakładam, że to lista someKeys i someVals, które powinny być poprawne, prawda? Teraz bez powodzenia próbowałem uzyskać dostęp do tych wartości. Próbowałem arr [0] ["someKey1"], ale otrzymałem błąd, że nie mogę zastosować indeksowania do „obiektu”.

Jakieś pomysły na rozwiązanie? Idealnie bardziej eleganckie rozwiązanie? :)

Z góry dziękuję

questionAnswers(2)

yourAnswerToTheQuestion