Xamarin C#PCL-将json内容发送到listview

Xamarin C#PCL-将json内容发送到listview,c#,json,listview,xamarin.forms,C#,Json,Listview,Xamarin.forms,我正在学习Xamarin,并试图将这个Jira Json输出推送到一个名为ListView1的listview。如果有人想帮助新手,请尽一切努力。当我输出内容但不转到列表视图时,一切都可以在调试中输出数据。我做错了什么 注意,我必须对头像URL使用DataContract,因为在json2sharp中运行时,它显示的是无效的。不确定这是否正确 下面是我制作成一个类的Json输出示例(使用Jira输出) 公共类ItemClass { 公共类链接 { 公共字符串@base{get;set;} 公共字

我正在学习Xamarin,并试图将这个Jira Json输出推送到一个名为ListView1的listview。如果有人想帮助新手,请尽一切努力。当我输出内容但不转到列表视图时,一切都可以在调试中输出数据。我做错了什么

注意,我必须对头像URL使用DataContract,因为在json2sharp中运行时,它显示的是无效的。不确定这是否正确

下面是我制作成一个类的Json输出示例(使用Jira输出)

公共类ItemClass
{
公共类链接
{
公共字符串@base{get;set;}
公共字符串上下文{get;set;}
公共字符串self{get;set;}
}
公共类CreatedDate
{
公共字符串iso8601{get;set;}
公共字符串jira{get;set;}
公共字符串友好型{get;set;}
公共对象epochMillis{get;set;}
}
[数据合同]
公共类化身
{
[数据成员(Name=“48x48”)]
公共字符串图标_48x48{get;set;}
[数据成员(Name=“24x24”)]
公共字符串图标\u 24x24{get;set;}
[数据成员(Name=“16x16”)]
公共字符串图标_16x16{get;set;}
[数据成员(Name=“32x32”)]
公共字符串图标_32x32{get;set;}
}
公共类链接2
{
公共字符串jiraRest{get;set;}
公共化身化身{get;set;}
公共字符串self{get;set;}
}
公开课记者
{
公共字符串名称{get;set;}
公共字符串密钥{get;set;}
公共字符串电子邮件地址{get;set;}
公共字符串displayName{get;set;}
公共bool活动{get;set;}
公共字符串时区{get;set;}
公共链接2_链接{get;set;}
}
公共类RequestFieldValue
{
公共字符串字段ID{get;set;}
公共字符串标签{get;set;}
公共对象值{get;set;}
}
公共类状态日期
{
公共字符串iso8601{get;set;}
公共字符串jira{get;set;}
公共字符串友好型{get;set;}
公共对象epochMillis{get;set;}
}
公共类当前状态
{
公共字符串状态{get;set;}
公共状态日期状态日期{get;set;}
}
公共类链接3
{
公共字符串web{get;set;}
公共字符串self{get;set;}
}
公共阶级价值
{
公共列表_展开{get;set;}
公共字符串issueId{get;set;}
公共字符串issueKey{get;set;}
公共字符串requestTypeId{get;set;}
公共字符串serviceDeskId{get;set;}
公共CreatedDate CreatedDate{get;set;}
公共记者{get;set;}
公共列表requestFieldValues{get;set;}
public CurrentStatus CurrentStatus{get;set;}
公共链接3_链接{get;set;}
}
公共类根对象
{
公共列表_展开{get;set;}
公共整数大小{get;set;}
public int start{get;set;}
公共整数限制{get;set;}
公共bool isLastPage{get;set;}
公共链接_链接{get;set;}
公共列表值{get;set;}
}
}
执行时显示的代码:

using (HttpClient client = new HttpClient())
            {
                var content = "";
                string url = "https://***/rest/servicedeskapi/request";
                client.DefaultRequestHeaders.Authorization = new System.Net.Http.Headers.AuthenticationHeaderValue("Basic", baseauth);
                client.DefaultRequestHeaders.Accept.Add(new System.Net.Http.Headers.MediaTypeWithQualityHeaderValue("application/json"));

                HttpResponseMessage response = await client.GetAsync(url);
                content = await response.Content.ReadAsStringAsync();

                var Items = JsonConvert.DeserializeObject<List<ItemClass.RootObject>>(content);
                ListView1.ItemsSource = Items;
使用(HttpClient=new HttpClient())
{
var-content=“”;
string url=“https://***/rest/servicedeskapi/request”;
client.DefaultRequestHeaders.Authorization=new System.Net.Http.Headers.AuthenticationHeaderValue(“Basic”,baseauth);
client.DefaultRequestHeaders.Accept.Add(新的System.Net.Http.Headers.MediaTypeWithQualityHeaderValue(“应用程序/json”);
HttpResponseMessage response=wait client.GetAsync(url);
content=wait response.content.ReadAsStringAsync();
var Items=JsonConvert.DeserializeObject(内容);
ListView1.ItemsSource=项目;
xaml上的Listview:

<ListView x:Name="ListView1" RowHeight="60">
                <ListView.ItemTemplate>
                    <DataTemplate>
                        <ViewCell>
                            <StackLayout Orientation="Vertical" Padding="8,0,8,0">
                                <Label Text="{Binding reporter}" TextColor="#000" FontSize="14" LineBreakMode="TailTruncation" />
                            </StackLayout>
                        </ViewCell>
                    </DataTemplate>
                </ListView.ItemTemplate>
            </ListView>

您对
列表的绑定
。在您的
单元格
中,您绑定到
报告器
属性。
根对象
没有
报告器
属性。因此,要么将
报告器
添加到列表中,要么查看您的代码,使
项资源
项值
,这将具有
reporter
属性

因此,请按如下方式更改代码:

var Items = JsonConvert.DeserializeObject<List<ItemClass.RootObject>>(content);
ListView1.ItemsSource = Items.values;
var Items=JsonConvert.DeserializeObject(内容);
ListView1.ItemsSource=Items.values;

您对
列表的绑定
。在您的
单元格
中,您绑定到
报告器
属性。
根对象
没有
报告器
属性。因此,要么将
报告器
添加到列表中,要么查看您的代码,使
项资源
项值
,这将具有
reporter
属性

因此,请按如下方式更改代码:

var Items = JsonConvert.DeserializeObject<List<ItemClass.RootObject>>(content);
ListView1.ItemsSource = Items.values;
var Items=JsonConvert.DeserializeObject(内容);
ListView1.ItemsSource=Items.values;
ItemSource是一个列表,标签绑定到“reporter”,但RootObject没有“reporter”属性。ItemSource是一个列表,标签是bou