使用不同类型的值解析字典

时间:2017-05-18 14:47:36

标签: c# json serialization json.net

我有一个Json返回这样的东西:

"Name" : {
 "1" : [ an array of class1 objects ],
 "2" : [ an array of class2 objects ],
 "3" : [ an array of class3 objects ],
}

如果每个键都具有相同类型的值,我使用:

public Dictionary<int, class1[]> object1 { get; set; }

但是如果每个键都有不同类别的对象,我不知道该怎么做。我该怎么办?

1 个答案:

答案 0 :(得分:0)

您可以尝试使用像这样的对象数组

public Dictionary<int, object[]> ObjectsDictionary { get; set; }

我在下面写了一个例子,在我的例子中我使用了一个字符串键,但是你可以使用int而不会有任何问题


    class Program
    {
        public static Dictionary ObjectsDictionary { get; set; }

        static void Main(string[] args)
        {
            ObjectsDictionary = new Dictionary();
            Class1[] classes1 =
            {
                new Class1 {X = 54, Y = 454},
                new Class1 {X = 1, Y = 2}
            };
            Classe2[] classes2 =
            {
                new Classe2 {IsSomthing = true, Name = "String 1 class 2"},
                new Classe2 {IsSomthing = false, Name = "String 2 class 2"}
            };

            ObjectsDictionary.Add("Key 1",classes1);
            ObjectsDictionary.Add("Key 2",classes2);

        }

    }
    class Class1
    {
        public int X { get; set; }
        public int Y { get; set; }
    }

    class Classe2
    {
        public String Name { get; set; }
        public Boolean IsSomthing { get; set; }
    }