如何在c#中反序列化json?

时间:2014-01-25 12:38:36

标签: windows-phone-8

我正在尝试反序列化json,我收到了一个错误:

  

“在Newtonsoft.Json.DLL中发生'Newtonsoft.Json.JsonSerializationException'类型的异常,但未在用户代码中处理”

我的代码:

public void w_StandingsDownloadStringCompleted(object sender, DownloadStringCompletedEventArgs e)
    {

        if (!string.IsNullOrEmpty(e.Result))
        {
            JsonSerializer jc = new JsonSerializer();
           // var o = jc.Deserialize<RootObjectStandings>(e.Result);

            var root3 = JsonConvert.DeserializeObject<RootObjectStandings>(e.Result);
            //  var root2 = JsonConvert.DeserializeObject<Headline>(e.Result);
            football f = new football();
            f.StandingList.ItemsSource = root3.info;
            f.progressbar1.IsEnabled = false;
            f.progressbar1.IsIndeterminate = false;
            f.progressbar1.Visibility = Visibility.Collapsed;


        }
}

类别:

public class RootObjectStandings
{
    public int position { get; set; }
    public int team_id { get; set; }
    public string team { get; set; }
    public string teamshort { get; set; }
    public string teampath { get; set; }
    public int played { get; set; }
    public int won { get; set; }
    public int drawn { get; set; }
    public int lost { get; set; }
    public int @for { get; set; }
    public int against { get; set; }
    public int difference { get; set; }
    public Home home { get; set; }
    public Away away { get; set; }
    public int points { get; set; }
    public string info { get; set; }
}

和xaml代码:

 <ListBox x:Name="StandingList" FontFamily="Arial Black" VerticalAlignment="Center" Margin="-6,0,0,-26" Height="610" RenderTransformOrigin="0.5,0.5" Background="{x:Null}" Opacity="0.8">
                <ListBox.ItemTemplate>
                    <DataTemplate>
                        <Grid>
                            <Button  Style="{StaticResource ButtonStyle1}" Width="450" Height="Auto" Background="Black" BorderBrush="Transparent" FontWeight="Bold" FontSize="23" HorizontalAlignment="Left" VerticalAlignment="Top" Margin="0,0,0,5" Opacity="0.95" Foreground="White">
                                <StackPanel>

                                    <TextBlock TextWrapping="Wrap" FontFamily="Segoe WP Black" Foreground="White" FontSize="18" HorizontalAlignment="Stretch" VerticalAlignment="Stretch" TextAlignment="Left" Width="350" Height="150">
                                    <Run FontSize="23" Text="{Binding info}" />
                                    <LineBreak/>
                                    <Run Text="{Binding position}" FontWeight="Normal" FontSize="16" FontFamily="Segoe WP SemiLight"/>
                                    </TextBlock>
                                </StackPanel>
                            </Button>
                        </Grid>
                    </DataTemplate>
                </ListBox.ItemTemplate>

            </ListBox>

出了什么问题?帮助

0 个答案:

没有答案