无法在列表C#Xamarin Forms中输入我的数据

时间:2019-02-28 15:06:06

标签: c# json xaml xamarin.forms deserialization

由于某种原因,我无法获取数据来填充现有的XAML列表。

XAML

 <ListView x:Name="DList" 
   ItemsSource="{Binding Items}">
     <ListView.ItemTemplate>
                    <DataTemplate>
                         <ViewCell>
                                <StackLayout Padding="10">
                                   <Image  x:Name="img" Source="{Binding Image}"  Aspect="AspectFill" />
                                 </StackLayout>
                            </ViewCell>
                    </DataTemplate>
                </ListView.ItemTemplate>
            </ListView> 

模型1

public class Model 
    {
         public List<ImageUrl> Image { get; set; }

    }

 public class ImageUrl 
    {
        public string Image { get; set; }
    }

Model2(这是将JSON数据转换为c#时得到的模型)

public class Image
{
    public string href { get; set; }
    public object links { get; set; }
    public object linkTemplates { get; set; }
}

public class Breed
{

    public Image image { get; set; }
    public object links { get; set; }
    public object linkTemplates { get; set; }
}

public class RootObject
{
    public List<Breed> breeds { get; set; }
    public object links { get; set; }
    public object linkTemplates { get; set; }
}

GETDATA

 if (result.IsSuccessStatusCode)
                    {
                        var data = await result.Content.ReadAsStringAsync();
                        response = JsonConvert.DeserializeObject<List<Model>>(data);

                      }

数据正确,我收到了我所需要的。但是,它在var响应上会中断。

1 个答案:

答案 0 :(得分:0)

如果您的代码在JsonConvert.DeserializeObject上闯入,则说明您尚未根据json字符串正确创建该类,或者可能根本不希望它List<Model>。我的猜测是,您需要拥有一个带有List<Model>字段的类,并使用它来对json进行反序列化,这是最常见的错误。