Получение доступа к объекту 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"], но получил ошибку, что я не могу применить индексирование к 'объекту'.
Есть идеи по решению? В идеале более элегантное решение? :)
заранее спасибо