如何获取对象数组列表中的元素

时间:2019-04-24 07:15:34

标签: c# asp.net

enter image description here我试图获取对象的值[],但是使用foreach效果不佳。         object []包含一个object []列表我该如何获取数据

public void SaveBottonTable(string dimension)
{
    JavaScriptSerializer json_serializer = new JavaScriptSerializer();
    object[] routes_list = 
        (object[])json_serializer.DeserializeObject(dimension);
                GlobalConstant.holeconfiguration = routes_list;//list is referred in the image
    foreach(object hole in routes_list)
    {
        hole[0]//shows error
    }
}

how to get the value of the first object[]

      https://i.stack.imgur.com/x8SG1.png

3 个答案:

答案 0 :(得分:1)

由于每个元素都是字符串数组,因此应将每个对象转换为数组,然后对其进行索引。

foreach(object hole in routes_list)
{
   var elements = hole.ToArray();
//then you can access elements[0] and elements [1]
}

但是,我认为如果格式为“ Key”:“ Value”会更好 例: { “ object-ID”:“ 1234123cfrewr”, “ view”:“ Cover”, 。 。 。

请注意Collection.Generics,因为那里有几个Dictionary。他们将需要额外的照顾。

答案 1 :(得分:0)

您的json似乎包含词典。在那种情况下,我会将其反序列化为适当的类型Dictionary<string, object>。然后,在循环浏览时,您可以使用hole.Key获取密钥,也可以使用hole.Value获取值。

答案 2 :(得分:0)

这种方式:

object[] list = new object[]
{
    new object(),
    1,
    "ciao",
    new object[] { 1, 2, 3, 4, 5 },
    "pizza",
    new object[] { "ciao", "pizza" },
    new List<object>(){ 123, 456 }
};

foreach (ICollection collection in list.OfType<ICollection>())
{
    //Here you can work with every collection found in your list
}