У меня есть следующие JSON:Десериализация динамический объект JSON в ListBox Databinding
{
"COMPETITIONS": [
{
"name": "Name 1",
"id": "76-7011",
"ltable": "0"
},
{
"name": "Name 2",
"id": "116-7",
"ltable": "0"
},
{
"name": "Name 3",
"id": "217-68",
"ltable": "0"
}
]
}
Это десериализируется как динамические с помощью Json.NET
dynamic jsonResponse = JsonConvert.DeserializeObject(result);
Я хочу передать эти данные в ListBox, такие как
lb.ItemsSource = jsonResponse
<Page.Resources>
<DataTemplate x:Key="DataTemplate1">
<Grid>
<TextBlock x:Name="textBox" TextWrapping="Wrap" Text="{Binding name}" d:LayoutOverrides="Width, Height" Foreground="Black"/>
</Grid>
</DataTemplate>
</Page.Resources>
Но он говорит мне:
Error: BindingExpression path error: 'name' property not found on 'Newtonsoft.Json.Linq.JObject, Newtonsoft.Json, Version=7.0.0.0, Culture=neutral, PublicKeyToken=30ad4fe6b2a6aeed'. BindingExpression: Path='name' DataItem='Newtonsoft.Json.Linq.JObject, Newtonsoft.Json, Version=7.0.0.0, Culture=neutral, PublicKeyToken=30ad4fe6b2a6aeed'; target element is 'Windows.UI.Xaml.Controls.TextBlock' (Name='textBox'); target property is 'Text' (type 'String')
Любой совет, пожалуйста, проанализируйте это в списке, не отходя от динамического и использования классов?
Спасибо, есть способ сохранить это как динамический, а не создавать классы? –
Пожалуйста, обратитесь к этой ссылке. http://stackoverflow.com/questions/3142495/deserialize-json-into-c-sharp-dynamic-object –