Получение доступа к объекту ArrayList

Я занимаюсь разработкой приложения, которое считывает некоторые данные JSON и создает некоторую статистику, но теперь я столкнулся с проблемой.

У меня есть такая строка:

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

Я хочу получить доступ к некоторым ключам и некоторым значениям.

Я преобразую его в словарь, как это:

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

Изменить 1: Извините, забыл добавить deserializeJSON:

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

Теперь у меня возникают проблемы с получением доступа к списку значений с помощью клавиши «Позиция». Если я попытаюсь напечатать тип значений ["position"], я получу:

System.Collections.ArrayList

Поэтому я подумал, что могу просто повторить это, но не могу. Я попытался использовать enumerator (прочитайте здесь, что это позволило бы перебирать объекты, и что я должен добавить его в ArrayList, чтобы привести его):

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

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

Когда я печатаю arr [0], я получаю:

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

Здесь я в замешательстве. Я предполагаю, что это список someKeys и someVals, который должен быть правильным, верно? Теперь я безуспешно пытался получить доступ к этим ценностям. Я попытался arr [0] ["someKey1"], но получил ошибку, что я не могу применить индексирование к 'объекту'.

Есть идеи по решению? В идеале более элегантное решение? :)

заранее спасибо

Ответы на вопрос(2)

Ваш ответ на вопрос