【问题标题】:No best type found for implicitly-typed array Json error未找到隐式类型数组 Json 错误的最佳类型
【发布时间】:2016-11-16 14:04:22
【问题描述】:

我有一个单独的数组,名为 scheduleList,例如:

            var scheduleListAll = await DataService.GetSchedule(Id);
            scheduleList = scheduleListAll.ScheduleItems;

我还有另一个名为 doorsForSite 的数组,例如:

           var doorsForSite = new[]
                {
                new { ControllerId ="controller1",ControllerName="C1",IsChecked = "false",
                        Doors = new[]
                        {
                            new { DoorId="Door1",DoorName="DoorOne"},
                            new { DoorId = "Door2", DoorName = "DoorTwo" }
                        },
                        scheduleList

                    },
                new { ControllerId ="controller2",ControllerName="C2",IsChecked = "false",
                        Doors = new[]
                        {
                            new { DoorId=  "Door3",DoorName="DoorThree"},
                            new { DoorId = "Door4", DoorName = "DoorFour" },
                            new { DoorId = "Door5", DoorName = "DoorFive" },
                        }

                    }
            };

如何将first array 包含到second 中?

我试过了:

           var doorsForSite = new[]
                {
                new { ControllerId ="controller1",ControllerName="Eagle",IsChecked = "false",new object[] { scheduleList },
                        Doors = new[]
                        {
                            new { DoorId="Door1",DoorName="DoorOne"},
                            new { DoorId = "Door2", DoorName = "DoorTwo" }
                        },
                        scheduleList

                    },
                new { ControllerId ="controller2",ControllerName="NetAxis",IsChecked = "false",new object[] { scheduleList },
                        Doors = new[]
                        {
                            new { DoorId=  "Door3",DoorName="DoorThree"},
                            new { DoorId = "Door4", DoorName = "DoorFour" },
                            new { DoorId = "Door5", DoorName = "DoorFive" },
                        }

                    }
            };

但是没有用。怎么办?

【问题讨论】:

    标签: c# arrays json


    【解决方案1】:

    你必须有一个键,你不能直接把数组放在那里。

    类似

    { ControllerId ="controller1",ControllerName="Eagle",IsChecked = "false",new object[] { scheduleList },
        Doors = new[]
        {
            new { DoorId="Door1",DoorName="DoorOne"},
            new { DoorId = "Door2", DoorName = "DoorTwo" }
        },
        ScheduleList = scheduleList //like this
    }
    

    【讨论】:

      【解决方案2】:

      工作。

                  var doorsForSite = new[]
                      {
                      new { ControllerId ="controller1",ControllerName="Eagle",IsChecked = "false",Schedules = scheduleList,
                              Doors = new[]
                              {
                                  new { DoorId="Door1",DoorName="DoorOne"},
                                  new { DoorId = "Door2", DoorName = "DoorTwo" }
                              }
      
                          },
                      new { ControllerId ="controller2",ControllerName="NetAxis",IsChecked = "false", Schedules = scheduleList,
                              Doors = new[]
                              {
                                  new { DoorId=  "Door3",DoorName="DoorThree"},
                                  new { DoorId = "Door4", DoorName = "DoorFour" },
                                  new { DoorId = "Door5", DoorName = "DoorFive" },
                              }
      
                          }
                  };
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2019-04-22
        • 2014-12-28
        • 1970-01-01
        • 2021-09-15
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多